Redis的数据类型有5种,分别是 String类型、list类型、hash类型、set类型、有序set类型(sorted set)
string命令:
- 设置key value指令: set key value 例:set name jack
- 获取key对应的value值: get key 例: get name 结果得到jack
- 获取key对应value的子字符串 getrange key start end 例:getrange name 0 2 结果得到 jac (获取jack 从索引0到2的子串,索引含头含尾)
- 修改key对应的值为value(返回的值是key的旧值):getset key value 例:getset name tom 结果为 jack (再次 get name的时候返回的值就会变成tom)
- 获取key对应value字符串的长度: strlen key 例:strlen name 结果得到 4
- 给key对应的数字值加一或者加一个增量: incr key incrby key num 例:set age 18 incr age 结果为 19; incrby age 2 结果为20
- 将key对应的数字值减一或者减少一个值: decr key decrby key num 例:decr age 结果为 17 ;decrby age 2 结果为 16
list命令:
- 设置key vlaue: lpush key value1 value2 .. 从左边往右边放值,value1在最右边,value2等值依次往左;rpush key value1 value2... 从右边往左边放值,从左往右值一次为value1 value2 . 例:lpush lists a b c rpush lists1 a b c
- 获取key对应的值: lrange key start end 例:lrange lists 0 1 结果为 c b ,lrange list1 0 1 结果为 a b
- 根据索引获取list中的元素 lindex key index 例:lindex list1 1 结果为 b
- 根据key获取list 的长度 llen key 例:llen list1 结果为 3
hash:
- 给hash 设置key 和key中的一个或者多个字段及对应的值: hset key field value (设置一个字段及值) hmset key field1 value1 field2 value2 (设置多个字段及值) 例:hset user name kevin ; hmset user name rose age 19 sex 女
- 获取单个或者全部的字段和值: hget key field hgetall key 例: hget user name 结果为 rose;hgetall user 结果为 name rose age 19 sex 女
- 删除字段 :hdel key field 例:hdel user name 将user 的name 字段删除
set:
- 设置key value : sadd key value1 value2 例:sadd id 1 2 3
- 返回key对应的索引的value值 : smembers key 例:smembers id 结果为 1 2 3
- 获取两个set 的差集 : sdiff key1 key2 例:sadd set1 1 2 3 , sadd set2 2 3 4 sdiff set1 set2 结果为 1 (差集结果来自与key1)
- 获取两个set的交集: sinner key1 key2 例:sinner set1 set2 结果为 2 3
- 获取两个set的并集 : sunion key1 key2 例:sunion set1 set2 结果为 1 2 3 4
sorted set:
- 向有序set中增添 key value:zadd key score1 value1 score2 value2 例:zadd subject 1 chinese 2 english
- 获取key 对应有多少value值 : zcard key 例:zcard subject 结果为 2
- 根据key value值查找score值 : zscore key value 例:zscore subject chinese 结果为 1
- 查找指定分数区间的value的数量; zcount key startscore endscore 例; zcount subject 1 2 结果为2