事务
- redis事务本质:一组命令的集合,一个事务中的所有的命令都会被序列化,在事务执行的过程中 会按照顺序执行,一次性、顺序性、排他性
- redis事务没有隔离级别的概念
- 所有的命名在事务中,并没有直接被执行,只有发起exec命令时才执行
事务总结
- 开启事务 multi
- 命令入队 set k1 v1
- 执行事务 exec
- 取消事务 discard
监控 watch
- 悲观锁:
- 很悲观 认为什么时候都会出问题,无论做什么都会加锁
- 乐观锁
- 很乐观 认为什么时候都不会出问题,所以不会上锁,更新数据的时候去判断一下,在此期间是否修改过该数据
- 获取version
- 更新的时候比较version
jedis
- 是什么:是redis官方推荐的java连接工具 使用java执行redis的中间件
redis 持久化
redis是内存数据库,如果不将内存中的数据库状态保存到磁盘,一旦服务器进程退出,服务器中的数据库状态也会消失,所以redis提供了持久化功能
rdb (redis database)
-
在指定的时间间隔内将内存中的数据集快照写入磁盘,恢复时将快照文件直接读到内存中(是什么)
-
优点:
- 适合大规模的数据恢复
- 对数据的完整性要求不高
-
缺点
-
需要一定的时间间隔进程操作,如果最后一次redis意外中断,这个最后一次的修改数据就没有了
-
fork进程的时候,会占用一定的内存空间
aof
- 将我们的所有的命令都记录下来 恢复的时候把这个文件全部执行一遍
- 默认不开启 将配置文件的appendonly 改为yes即开启
- 优点
- 每一次的修改都同步,文件的完整性会更好
- 每秒同步一次 可能会丢失一秒的数据
- 从不同步,效率最高的
- 缺点
- 相对于数据文件,aof远大于rdb,修复的速度也比rdb慢
- aof运行效率也要比rdb慢 所以redis默认是rdb的持久化
Redis事务提供了一种在单个操作中执行多个命令的方法,确保了命令的顺序执行和原子性。它不支持传统数据库的隔离级别,通过multi、exec、discard命令进行开启、执行和取消事务。此外,Redis提供了两种持久化方式:RDB和AOF。RDB在指定时间间隔保存内存快照,适合大规模恢复但可能丢失最后的数据;AOF记录所有命令,保证数据完整性,但文件体积大且恢复速度慢。Jedis是Redis的Java客户端,用于连接和操作Redis服务器。
1750

被折叠的 条评论
为什么被折叠?



