string 字符串

string: 最简单的字符串类型键值对缓存,也是最基本的

key相关

keys *:查看所有的key (不建议在生产上使用,有性能影响)
type key:key的类型

string类型

get/set/del:查询/设置/删除
set rekey data:设置已经存在的key,会覆盖
setnx rekey data:设置已经存在的key,不会覆盖
set key value ex time:设置带过期时间的数据
expire key:设置过期时间
ttl:查看剩余时间,-1永不过期,-2过期
append key:合并字符串
strlen key:字符串长度
incr key:累加1
decr key:类减1
incrby key num:累加给定数值
decrby key num:累减给定数值
getrange key start end:截取数据,end=-1 代表到最后
setrange key start newdata:从start位置开始替换数据
mset:连续设值
mget:连续取值
msetnx:连续设置,如果存在则不设置

其他

select index:切换数据库,总共默认16个
flushdb:删除当前下边db中的数据
flushall:删除所有db中的数据

hash

hash:类似map,存储结构化数据结构,比如存储一个对象(不能有嵌套对象)

使用

hset key property value:
-> hset user name imooc
-> 创建一个user对象,这个对象中包含name属性,name值为imooc
hget user name:获得用户对象中name的值
hmset:设置对象中的多个键值对
-> hset user age 18 phone 139123123
hmsetnx:设置对象中的多个键值对,存在则不添加
-> hset user age 18 phone 139123123
hmget:获得对象中的多个属性
-> hmget user age phone
hgetall user:获得整个对象的内容
hincrby user age 2:累加属性
hincrbyfloat user age 2.2:累加属性
hlen user:有多少个属性
hexists user age:判断属性是否存在
hkeys user:获得所有属性
hvals user:获得所有值
hdel user:删除对象

list

list:列表,[a, b, c, d, …]

使用

lpush userList 1 2 3 4 5:构建一个list,从左边开始存入数据
rpush userList 1 2 3 4 5:构建一个list,从右边开始存入数据
lrange list start end:获得数据
lpop:从左侧开始拿出一个数据
rpop:从右侧开始拿出一个数据
pig cow sheep chicken duck
llen list:list长度
lindex list index:获取list下标的值
lset list index value:把某个下标的值替换
linsert list before/after value:插入一个新的值
lrem list num value:删除几个相同数据
ltrim list start end:截取值,替换原来的list

SET

不能有重复值的数据

使用

sadd set duck pig cow 添加的数据返回的是添加的数量。
smembers set 查看set里面的所有的内容。
scard set 查看数量

sismember set pig 返回的数量代表存在不存在
srem set duck 删除一项
smembers set 查看set里面的内容
spop set 弹出数据
spop set 2 弹出两个数据

sadd set1 1 2 3 添加的数据
srandmember set1 3 当前的set里随机获取内容,3代表获取三个数据。
sadd set2 1 3 4 添加的数据。

smembers set1 返回所有的数据。
sdiff set1 set2 差集 取差集
sinter set1 set2 交集 取交集
sunion set1 set2 并集 取并集

sorted set:

sorted set:排序的set,可以去重可以排序,比如可以根据用户积分做排名,积分作为set的一个数值,根据数值可以做排序。set中的每一个memeber都带有一个分数

使用

zadd zset 10 value1 20 value2 30 value3:设置member和对应的分数
zrange zset 0 -1:查看所有zset中的内容
zrange zset 0 -1 withscores:带有分数
zrank zset value:获得对应的下标
zscore zset value:获得对应的分数
zcard zset:统计个数
zcount zset 分数1 分数2:统计个数
zrangebyscore zset 分数1 分数2:查询分数之间的member(包含分数1 分数2)
zrangebyscore zset (分数1 (分数2:查询分数之间的member(不包含分数1 和 分数2)
zrangebyscore zset 分数1 分数2 limit start end:查询分数之间的member(包含分数1 分数2),获得的结果集再次根据下标区间做查询
zrem zset value:删除member

参考:
http://redisdoc.com/