Redis 高级功能
The current document is available in English. Click to switch to English
事务
redis事务本质:一组命令的集合,一个事务的所有命令都会被序列化,在事务执行的过程中,会按照顺序执行
一次性、顺序性、排他性
redis的事务没有隔离级别的概念
所有的命令在事务中,并没有直接被执行,只有发起执行命令才会被执行
redis单条命令是保存原子性的,但是事务不保证原子性
redis的事务执行
- 开启事务(multi)
- 命令入队
- 执行事务(exec)
放弃事务的命令为:discard
事务异常
- 编译型异常(代码有问题,命令有错):事务中所有的命令都不会被执行
- 运行时异常:如果事务队列存在语法性,那么执行命令的时候,其他命令可以正常执行,错误命令抛出异常
锁
悲观锁
| 悲观,认为什么时候都会出问题,无论做什么都会加锁
乐观锁
| 乐观,认为什么时候都不会出现问题,所以不会加锁。更新数据的时候去判断,在此期间是否有人修改这个数据
| 获取version
| 更新的时候比较version
监视对象使用 watch [key] 解锁使用 unwatch
#shell1 |
redis 配置
redis 中对大小写不敏感

可以包含其他配置文件

网络相关
#绑定ip |
通用配置
#以守护进程的方式运行,默认为no |
快照
# 如果900s内 至少有 1 key进行了修改,就进行持久化操作 |
安全
# 设置密码 |
AOF设置
# 默认不开启aof模式,默认使用rdb方式持久化,在大部分情况下rdb基本够用 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 蒜头耿鬼's Blog!
评论