Redis是什么?
Redis是一个基于内存的key-value结构数据库
优点:
基于内存存储,读写性能高
适合存储热门数据(热点商品、新闻等)
企业应用广泛
数据结构
Redis的数据结构为key-value,其中key为String类型,而value有五种常见的数据类型分别是:
String:最普通的数据类型,也是最常见的数据类型、用于存储普通的键值对,计算器
hash:散列存储,类似于java中的HashMap结构、用于存储对象
list:列表,按照插入顺序排序,可以有重复数据,类似于java的LinkedList、用于抽奖、抢票
set:无序集合,没有重复元素,类似于HashSet、用于把两个人的粉丝列表整合为一
zset:有序集合,集合中的每个元素都会关联一个分数,根据分数升序排序,没有重复元素、用于排行榜
Redis在java的客户端
客户端:Jedis、Lettuce、Spring Data Redis
Spring Data Redis是Spring 的一部分,对Redis的底层进行了高度封装。在Spring项目中,可以用Spring Data Redis来简化操作
redis的持久化机制:
RDB:
RDB是一种快照持久化方式,它通过定期生成数据集的快照来保存数据。RDB的优点包括恢复速度快,对性能影响小,并且只生成一个备份文件,方便存储和迁移。然而,RDB的缺点是它可能会丢失最后一次快照之后的所有修改,因此在故障发生时数据安全性较低。
AOF:
AOF是一种日志持久化方式,通过记录所有的写操作命令来保证数据的安全性。AOF的优点是数据安全性更高,即使发生故障也不会丢失太多的数据。然而,AOF文件的体积会随着时间增长,且恢复速度较慢,需要重新执行所有的写操作命令。