Redis学习

从网上下了个redis命令参数中文版。照着敲了一遍命令。让后找php的api敲了一遍。

1.string
setbit 对key所储存的字符串值,设置或清除指定偏移量上的位(bit)。

setnx

setex

2.hash

HSET key field value
将哈希表key中的域field的值设为value。

hgetall 结果列表为:

key1
val1
key2
val2
…….

hkeys

hvals

3.list

lpush xx yy 向队列key值 插入值yy
lpushx 需要队列存在才能插入成功

lpop
blpop
rpoplpush
brpoplpush
ltrim
lrange
$r->lRem($key,’find’,-2); //从右边删除2个value为find的元素
linsert hot after xxx 123 //在值为xxx的元素的后面插入一个值为123的元素

4.set
sadd 添加元素
srem 删除集合元素
smembers 集合元素列表
sismember 是否存在
scard 长度
smove source des xx 移动元素到其他集合
spop随机弹出
srandmember 随机返回

sinter set1 set2 取交集
sinterstore des set1 set2 取交集存到另外一个集合

sunion set1 set2 取并集
sunionstore des set1 set2

sdiff set1 set2 取差集
sdiffstore set1 set2

5.zset
zadd z1 100 aaa
zrem z1 aaa

zcount z1 长度
zcount z1 0 2 score值在0和2之间的成员的数量
zscore z1 xxx 返回值为xxx的元素的score值
zincrby z1 5 111 给值为111的元素的score 加5

zrange z1 0 -1
zrange z1 0 -1 withscores 分数从小到大
zrevrangez1 0 -1 withscores 分数从大到小
zrangebyscore z1 min max (min或max带(表示纯 zrevrangebyscorez1 min max 分数从大到小

zrank z1 aaa 分数从小到大 返回aaa的排名
zrevrank z1 aaa 分数从大到小 返回aaa的排名

zremrangebyrank test 0 1 移除分数排名(从小到大)为第一名和第二名的元素 (用负数移除排名高的)

zremrangebyscore test 8 10 移除分数介于8到10的元素 (min或max带(表示纯

zinterstore des 2 z1 z2 取交集 z1、z2 相加其同元素的值 保存到集合des

ZUNIONSTORE salary 2 programmer manager WEIGHTS 1 3 # 公司决定加薪。。。除了程序员。。。

//weights 1,3分表表示score值乘以1倍和3倍

zadd programmer 2000 peter
zadd programmer 2500 jack
zadd programmer 5000 tom

ZRANGE programmer 0 -1 WITHSCORES

zadd manager 2000 herry
zadd manager 3500 mary
zadd manager 5000 bob

ZRANGE manager 0 -1 WITHSCORES

//程序员工资乘以5倍
ZUNIONSTORE salary 2 programmer manager WEIGHTS 1 5
ZRANGE salary 0 -1 WITHSCORES

//添加同名的经理 peter
zadd manager 7000 peter
ZUNIONSTORE salary3 2 programmer manager WEIGHTS 1 2 AGGREGATE (min|max|sum)

3种聚合方式peter的值:
min 2000
max 7000*2
sum 2000+7000*2=16000

关于 Administrator

爱拼才会赢!
此条目发表在 Nosql 分类目录,贴了 , , 标签。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>