1.redis概念
http://www.redis.cn/ 面向官网学习
2.redis安装测试
使用win版进行学习
https://github.com/tporadowski/redis/releases
3.redis命令
http://www.redis.cn/commands.html
常用的为:
-
list
LPUSH key value [value …]
lpush mylist 1,2,3
从队列左侧插入1,2,3 , 3个元素 . list为队列栈结构 , 由于从左侧插入 , 实际队列中的索引顺序为 3,2,1
LPOP key
lpop mylist
从队列左侧弹出一个元素 -
string:
SET key value [EX seconds] [PX milliseconds] [NX|XX]
set mykey ‘我是谁’ 60*2 nx
key为mykey , value 为’我是谁’, 过期时间为2分钟 , 如果不存在这个key就创建一个
get key
get mykey
通过指定key获取值 -
set
SADD key member [member …]
sadd myset 1,3,2,3
与list相同 , 但同一个key中, 同一个value仅能存在一个 ,所以myset中 只有1,3,2
SMEMBERS key
返回key对应的所有value
SPOP key [count]
返回key对应的指定数量元素 -
sortedSet
ZADD key [NX|XX] [CH] [INCR] score member [score member …]
zadd mysset nx 1 ‘灌篮高手’ 3 ‘口袋妖怪’ 2 ‘数码暴龙’
sortedSet类似有序set , 他的顺序是靠每个value的score决定的
上面命令为添加3个元素 , 灌篮高手的分为1… , 最后的顺序按照数字由小到大排列 ‘灌篮高手’ ,‘数码暴龙’ ,‘口袋妖怪’ -
hash
HSET key field value
hset myhash 1st GOW
hset myhash 2st P5
key为myhash , value 为field:value , 同一个key中 ,可以有多个不相同的field
HGET KEY
指定key查询
4.redis持久化
redis除了使用内存,还将数据备份到了磁盘上,有两种备份方式,
-
rdb
固定频率根据key变动数量,对内存中的内容进行快照 -
aof
固定频率将操作日志备份到磁盘
两种备份方式各有优缺点 rdb占用资源少,异步进行备份工作,效率高,但不能保证更新间隔中的数据恢复;aof备份时,由于记录了所有操作的日志,并在进行备份时,异步记录备份时产生的新的操作,所以效率低,但是如果服务挂掉 ,可以保证数据的完整性 。两种策略可以同时开启,当redis服务重启时,优先通过rof进行恢复
5.案例
通过redis的sortedset实现排行榜功能
https://blog.csdn.net/yanluandai1985/article/details/104348124
6.redis注意事项
value , key 的限制
大数据 ,高并发时redis数据过期引发的雪崩等现象