Redis 基础
用户认证登录及修改密码
reids的默认配置文件为/etc/redis.conf
,如果要修改密码,需要更改:
完成之后重启Redis:
命令行中修改密码(无需重启服务):
数据类型
String: 字符串类型
Hash: 哈希类型
List: 列表类型
Set: 集合类型
Sorted set: 顺序集合类型
管理实战
通用操作
strings(字符)类型操作
应用场景:
常规计数:微博数、粉丝数、直播平台
增:
删:
改:
查:
应用场景实现:
hash(字典)类型操作
应用场景:
存储部分变更的数据,如用户信息,商品信息等。
最接近表结构的一种类型。
增:
删:
改:
查:
List(列表)类型操作
应用场景:
消息队列系统
比如sina微博:在redis中我们的最新微博ID使用了常驻缓存,这是一直更新的。
但是做了限制不能超过5000个ID,因此获取ID的函数会一只询问redis。
系统不会像传统方式那样“刷新”缓存,redis实例中的信息永远是一致的。
SQL数据库(或是硬盘上的其他类型数据)只是在用户需要获取“很远”的数据时才会被触发,而主页或第一个评论页是不会麻烦到硬盘上的数据库了。
增:
删:
改:
查:
微博、微信朋友圈场景实现:
Set(集合)类型操作
应用场景:
在微博应用中,可以将一个用户所有的关注人存在一个集合中,将其所有粉丝存在一个集合。Redis还为集合提供了求交集、并集、差集等操作,可以非常方便的实现如共同关注、共同喜好、二度好友等功能,对上面的所有集合操作,你还可以使用不同的命令选择将结果返回给客户端还是存集到一个新的集合中。
增:
删:
改:
查:
Sorted-Set(有序集合)类型操作
应用场景:
排行榜应用,取TOP N操作
这个需求与上面需求的不同之处在于,前面操作以时间为权重,这个是以某个条件为权重,比如按顶的次数排序,这时候就需要我们的sorted set出马了,将你要排序的值设置成sorted set的score,将具体的数据设置成相应的value,每次只需要执行一条ZADD命令即可。
增:
删:
改:
查:
Redis 事务
Redis 事务和Mysql 事务的不同点:
redis中的事务跟关系型数据库中的事务是一个相似的概念,但是有不同之处。关系型数据库事务执行失败后面的sql语句不在执行前面的操作都会回滚,而在redis中开启一个事务时会把所有命令都放在一个队列中,这些命令并没有真正的执行,如果有一个命令报错,则取消这个队列,所有命令都不再执行。
Redis 事务相关命令:
1)DISCARD
取消事务,放弃执行事务块内的所有命令。
2)EXEC
执行所有事务块内的命令。
3)MULTI
标记一个事务块的开始。
4)UNWATCH
取消 WATCH 命令对所有 key 的监视。
5)WATCH key [key …]
监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断。
简单样例
参考链接