redis共有5种数据类型
一、string
赋值 set name zhangsan
取值 get name
删除 del name
递增 (需要先设置一个能递增的数字字符串 set num 2)
incr num (一次递增一个)
incrby num 2( 一次递增2,可以自己设置)
递减 decr num (一次减一)
decrby num 2 (依次递减2)
追加 append num 3
get num 23,
应用 :自增主键,例如商品id ,订单id
二。hash(集合)
赋值 hset user name zhangsan
多个赋值 hmset user age 18 sex 1 pwd 111111
取值 hget user name
多个取值 hmget user age sex pwd
删除 hdel user name
三,list (其实是linkList,添加和删除容易,查找较慢)
赋值:
lpush list 1 2 3
rpush list a b c
取值:
lrange list 0 2
lrange list 0 -1
删除: LPOP命令从列表左边弹出一个元素,会分两步完成,第一步是将列表最左边的元素从列表中移除,第二步是返回被移除的元素值
lpop list
rpop list
删除指定 lrem list:1 -1 2 (-1 代表从右向左删除第一个“2”)
添加 linsert list:1 after 1 5 (“linsert”代表从左往右添加, “list:1”为key, “after 1”表示在从左往右第一个“1”后面,添加上5)
应用:商品评论列表(不支持中文,不能带“”)
例如:lpush commnet:100544 {id:1,text:keyi} {id:1,text:chaping}
四、set(无序不重复)
赋值:
sadd set a b c
取值:
smembers set
删除:
srem set c
差集:
sdiff set1 set2
并集:
sunion set1 set2
交集:
sinter set1 set2
应用:商品查询
五、zset
赋值:
zadd zset 1 zs 3 wq 2 lsy 4 ls
取值:
zrange zset 0 -1 (默认按照分数从小到大 排序,仅显示value,如上“zs”"lsy" "wq" "ls")
zrange zset 0 -1 withscores 按照分数从小到大 排序,显示 key 和value
zrevrange zset 0 -1 withscores 逆序排列
删除:
zrem zset lsy
应用:商品销售排行
例如:
zadd sellsort 9 001 8 002 19 003 1 004 15 005
zrangebyscore sellsort 10 20 limit 0 5 (只有正序,没有逆序)