Redis字符串类型
常用命令
设置值:set
set key value [ex seconds] [px milliseconds] [nx|xx]
- ex seconds:设置秒级过期时间
- px milliseconds:设置毫秒级过期时间
- nx:键不存在则添加
- xx:键存在则更新
获取值:get
get key
- 存在则返回键的值
- 不存在则返回(nil)
批量设置值:mset key value [key1 value1 key2 value2……]
批量获取值:mget key [key……]
- 如果键不存在,则返回(nil)空
- 结果按照传入键的顺序返回
计数:incr
incr key
- 值不是整数,返回错误
- 值是整数,返回自增后结果
- 键不存在,按照值为0判断,故返回1
- 有类似decr key(递减),incrby key increment(递增选定整数),incrbyfloat key increment(递增选定浮点数)
不常用命令
追加值:append
append key value
- 即在键的值(字符串)的结尾衔接上新输入的字符(串)
字符串长度:strlen
strlen key
- 返回键的值的字符串的长度
- 注意每个中文占用3个字节
设置并返回原值:getset
getset key value
- 与set相比只是多出返回原值
设置指定位置的字符:setrange
setrange key offeset value
- 注意offset从0开始进行计数
获取部分字符串:getrange
getrange key start end
- 同设置指定位置的字符相同,索引都是从0开始
字符串内部编码
int:8个字节的长整型
embstr:小于等于39个字节的字符串
raw:大于39个字节的字符串
典型使用场景
- 缓存功能:利用redis具有支撑高并发的特性
- 计数:使用incr等函数,真实其实需要考虑防作弊、按不同维度计数、数据持久化到底层数据源
- 共享session:利用redis对session进行统一管理,以实现负载分配的同时session能够有效管理
- 限速:与计数类似,通过增长超过指定值来判断通过还是限速
sion:利用redis对session进行统一管理,以实现负载分配的同时session能够有效管理
- 限速:与计数类似,通过增长超过指定值来判断通过还是限速