String 常用命令
- set key value
- set key value ex seconds nx
- mset key1 value1 key2 value2 ... 批量设置key
- get key
- mget key1 key2 ... 批量获取key
- del key 删除一个key
- expire key seconds 设置key过期时间
- setex key seconds value 设置一个存活多少秒的key
- ttl key key的剩余存活时间,如果已过期则返回-2
- setnx key value 如果key不存在才设置value,不然不生效
- msetnx key1 value1 key2 value2
- append key value在该key的value里追加值
- decr key 值减1
- incr key 值加1
- decrby key 3 值减3
- incrby key 3 值加3
String命令应用场景
-
单值缓存
- set key value
- get key
-
对象缓存
-
set user:1 value(json格式数据)
-
mset user:1:name jqc user:1:girl_friend ssy
mget user:1name user:1:girl_friend
-
-
分布式锁
- setnx product:1 true // 设置成功返回1,设置失败返回0
- del product:1 释放锁
- set product:1 true ex 60 nx // 设置失效,
-
计数器
- incr article:readcount:{文章id}
- get article:readcount:{文章id}
-
Web集群session共享
- spring session + redis实现session共享
-
分布式系统全局序列号
- incrby orderid 1000 //redis批量生产序列号提高性能