redis学习入门篇--命令集合

来源:互联网 发布:ubuntu和centos的区别 编辑:程序博客网 时间:2024/05/16 04:48
参考李子骅《redis入门指南》的第三章的学习总结
1)获得符合规则的key,命令: Keys pattern,如Keys myList*
2)判断键key是否存在:exists key
3)删除键key:del key
4)获得key的类型: TYPE key

二、redis的数据类型
操作都是 command key
2.1字符串类型:
1)值增加1:incr key
2)增加指定的数值(m),incrby key m
3)key值减少1:decr key
4)减少指定的数值(m),decrby key m
5)增加指定的浮点数,如:incrbyfloat a 2.1
6)向尾部追加:appen key value
7)获取字符串长度:strlen key
8)同事设置/获取多个键的值 mset/mget
mset k1 v1 k2 v2
mget k1 k2
9)位操作setbit/getbit
getbit key offset
setbit key offset value

2.2散列类型
一个散列key可能有多个字段(field),每个字段有一个value。
操作都是 command key field XXX
1)赋值与取值
设置/获取单个字段:
hset key field value
hget key field
设置/获取多个字段:
hmset key field1 value1 [ field2 value2 .... ]
hmget key field1 [ field2.... ]

2)判断是否存在
hexists key field

3)给字段不存在时赋值
hsetnx key field value

4)增加指定的数值(m),hincrby key field m

5)删除字段: hdel key field
6)获取一个散列的字段或者字段的值:hkeys key , hvals key
7)获取字段数量:hlen key

2.3列表类型:
redis的列表是双向列表,可以从两头操作列表,所以列表的很多命令是r或者l开头,l是左端也是列表的顶端,index是0
1)向列表两端增加值
lpush key value
rpush key value

2)弹出元素 lpop key,rpop key
3)获取列表的长度:llen key
4)获取列表的片段:lrange key start stop,如: lrange members 0 3获取的是0,1,2,3这四个字段
5)删除列表中指定的值:lrem key count value即删除列表中的count个value
6)获取或者设置指定位置的值
lset key index value设置index处的值为value,获取index处的值 lindex key index
7)保留列表的片段:ltrim key
8)插入元素: linsert key after/before pvot value,即在pvot前或者后面插入value
9)将一个元素从一个列表中转移到另一个列表
rpoplpush source destination

2.4集合(set):
1)增加或者删除元素 sadd/srem key member [member1,member2,...]
2)获取集合的所有元素:smembers key
3)判断某个元素是否存在某个集合中: sismember key member,如sismember set a判断set中是否存在a这个元素
4)集合的交集/差/并集 sdiff, sinter,sunion
sdiff key1 key2即key1减去key2后的集合
5)获取集合的元素个数:scard key,如:scard subjects 获取subjects这个集合的元素个数
6)存储集合操作后的结果
sdiffstore, sinterstore,sunionstore
7)随机获取集合的元素:srandmember key [count],count是可选参数,默认是1
8)弹出集合的一个元素:spop key

2.5有序集合类型
有序集合总命令都是z开头
1)增加元素:zadd key score member,因为是一个有序的集合,所以加入的元素也必须带有分数,这样才好排序。分数可以是浮点数也可以是整数
下面的例子:tom是89分,peter是67分
redis>zadd scoreboard 89 TOM 67 Peter
还可以用zadd来修改一个元素的分数,下面的例子是将tom的分数修改为49
redis>zadd scoreboard 59 TOM
2)获得元素的分数 zscore key member
redis>zscore socreboard tom
3)获得排名(分数)范围内的元素,zrange key satr stop [withscores],可选参数withscores,带有withscores时返回的结果是包含元素的分数的,否则没有分数。
redis>zscore socreboard 0 -1
4)获得指定分数范围的元素:zrangebyscores min max [withscores]获得分数在min与max之间的元素
5)增加某个元素的分数:zincrby key increment member,下面就是给tom加10分的例子
redis>zincrby scoreboard 10 TOM
6)获取有序集合中的元素个数:zcard key,如redis>zcard socreboard
6)获取有序集合中指定分数范围内的元素个数:zcard key,如redis>zcount socreboard 60 80获取60到80分之间的元素个数
7)删除一个或者多个元素:zrem key member1 [member2,member3,...],如redis>zrem socreboard tom peter
8)按照排名范围删除元素:zremrangebyrank key start stop,如redis>zremrangebyrank socreboard 0 2
9)按照分数范围删除元素:zremrangebyscore key min max,如redis>zremrangebyscore socreboard 50 80
10)获得元素的排名:zrank key member如:redis>zrank socreboard
11)计算有序集合的交集,并可对分数做差/求和/取最大值的操作

0 0
原创粉丝点击