-
redis最基本的类型,最大能存储512M的数据,string类型是二进制安全的,即可以存储任何数据,比如数字、图片、序列化对象等
设置值(存值)
-
设置键值
set 键 值
-
设置键值及过期时间(以秒为单位)
setex 键 时间 值
-
设置多个键值
mset 键 值 键 值....
获取
-
根据键值获取值,如果键不存在则返回null
get 键
-
根据多个键获取多个值
mget 键 键 键 ...
运算:值是字符串类型的数字
-
将key对应的值加1
incr 键
-
将key对应的值加1
decr 键
-
将key对应的值加一个整数
incrby 键 整数
-
将key对应的值加一个整数
decrby 键 整数
其他
-
追加值(他返回的值是追加后的长度)
append 键 值
-
获取值长度
strlen 键
-
获取过期时间
ttl 键
应用场景
-
高速缓存HTML片段或页面
-
高速缓存关系型数据库查询的数据结果
-
高速缓存会话控制数据(将session存到redis中;当页面在两台服务器上时,从一个页面到另一个页面时会读取不到session值获取不到登录状态,这时可以通过redis进行存储session,访问页面时读取redis中的session)
-
分布式锁
# 当前clock不存在时设置值
# 当两个应用同时设置同一个key时只有一个应用能设置成功
# 只有设置key成功的应用才允许继续执行,另一个应用需要等待
setnx clock 123456
# 删除key
# 使用LRU脚本保证删除的key是应用设置的那个key,避免错误删除
EVAL "<<<'LUA'
if redis.call('get',KEYS[1]) == ARGV[1] then
return redis.call('del',KEYS[1])
else
return 0
end
LUA" 1 key argvalue
-
防止重复提交
-
存储设置固定格式的字符串序列(如:时间序列)
-
统计访问者数量
-
统计某天的注册用户数
-
限制API在某一时间段的访问次数
-
用户签到
-
统计活跃用户
-
用户在线状态
-
点赞场景
# 每次点赞加+
incr items:1
# 获取点赞数量
get items:1
- redis最基本的类型,最大能存储512M的数据,string类型是二进制安全的,即可以存储任何数据,比如数字、图片、序列化对象等 # 设置值(存值) - 设置键值 ``` set 键 值 ``` - 设置键值及过期时间(以秒为单位) ``` setex 键 时间 值 ``` - 设置多个键值 ``` mset 键 值 键 值.... ``` # 获取 - 根据键值获取值,如果键不存在则返回null ``` get 键 ``` - 根据多个键获取多个值 ``` mget 键 键 键 ... ``` # 运算:值是字符串类型的数字 - 将key对应的值加1 ``` incr 键 ``` - 将key对应的值加1 ``` decr 键 ``` - 将key对应的值加一个整数 ``` incrby 键 整数 ``` - 将key对应的值加一个整数 ``` decrby 键 整数 ``` # 其他 - 追加值(他返回的值是追加后的长度) ``` append 键 值 ``` - 获取值长度 ``` strlen 键 ``` - 获取过期时间 ``` ttl 键 ``` # 应用场景 - 高速缓存HTML片段或页面 - 高速缓存关系型数据库查询的数据结果 - 高速缓存会话控制数据(将session存到redis中;当页面在两台服务器上时,从一个页面到另一个页面时会读取不到session值获取不到登录状态,这时可以通过redis进行存储session,访问页面时读取redis中的session) - 分布式锁 ```redis # 当前clock不存在时设置值 # 当两个应用同时设置同一个key时只有一个应用能设置成功 # 只有设置key成功的应用才允许继续执行,另一个应用需要等待 setnx clock 123456 # 删除key # 使用LRU脚本保证删除的key是应用设置的那个key,避免错误删除 EVAL "<<<'LUA' if redis.call('get',KEYS[1]) == ARGV[1] then return redis.call('del',KEYS[1]) else return 0 end LUA" 1 key argvalue ``` - 防止重复提交 - 存储设置固定格式的字符串序列(如:时间序列) - 统计访问者数量 - 统计某天的注册用户数 - 限制API在某一时间段的访问次数 - 用户签到 - 统计活跃用户 - 用户在线状态 - 点赞场景 ```redis # 每次点赞加+ incr items:1 # 获取点赞数量 get items:1 ```