redis的五种数据类型、redis持久化机制 您所在的位置:网站首页 redis五种数据结构使用什么 redis的五种数据类型、redis持久化机制

redis的五种数据类型、redis持久化机制

2023-10-06 14:11| 来源: 网络整理| 查看: 265

redis的5中数据类型

String hash list set 和 zset(有序集合) (1)String Redis中最基本的数据存储结构,其他类型数据都是以string作为基础去存储的 String可以是简单的字符串,也可以是复杂的字符串(xml,json) 数字(浮点数、整数);二进制(图片、音频、视频) 最大不能超过512M 应用场景: 缓存功能: 减轻数据库压力 计数器: 共享session: 在分布式服务中,可能会将用户信息的访问负载均衡到不同的服务器上,用户刷新一次可能就需重新登录,为了避免这个问题,可以将用户的session保存到redis中,在这种情况下只要保证redis的高可用和扩展性,每次获取用户信息从redis中获取即可 限速:在发送短信的时候,为了限制短信接口不被频繁访问,限制用户每分钟发送验证码的频率 (2)Hash 保存用户信息 Key:{ Key1:value1, Key2:value2, Key3:value3 } (3)List 特点:用来存储多个有序的字符串,每个字符串又称为元素,一个列表可以存储2的32次方-1个元素,在redis中可以从列表的两端查询和弹出数据,还可以获取指定范围的元素列表,获取指定索引的数据,列表是一种比较灵活的数据结构 优点:列表的元素是有序的、列表内的元素可以重复 应用场景:可以简单模拟消息队列 (4)Set 特点:用来保存多个字符串,但是和列表不同的是set不允许有重复的元素,并且集合中的元素的都是无序的,redis除了支持集合的增删改查之外,还提供了多个集合交集、并集、差集。 应用场景:在项目中上传图片功能中,将上传的图片地址保存在redis的set集合中,通过set集合可以计算差集,判断垃圾图片,定时清理垃圾图片 (5)Zset(有序集合) 特点:保留了set集合的特性。但是zset集合是可以排序的,但是和列表的索引是不一样的,zset给每个元素设置一个分数score,按照分数进行排序,列表的索引是不可重复的,但是zset的分数数可以重复的 应用场景:排行榜,视频播放量、点赞数等等 在这里插入图片描述

redis中过期键的删除策略

(1)、定时删除:在设置键的过期时间的同时,创建一个定时器,当键在过期时间的时候自动删除该键 (2)、惰性删除:放任过期时间不管,每次从redis中获取该键的时候,都会检查该键是否过期,如果过期了就删除,去过过期就返回该键 (3)、定期删除:每个一段时间检查一次,即使键已经过期,但是还没有到定期检查的时间,也不会删除键,到了定期时间,程序就会检查所有的键是否过期,将已过期的键删除

redis持久化机制

Redis有两种持久化机制,RDB和AOF 在这里插入图片描述 1)RDB(Redis Database)持久化机制:通过数据集快照的方式,在某个时间点,将redis中的所有键值对写入一个临时文件,持久化结束之后,用这个临时文件替换上次持久化的文件,达到数据恢复的效果 优点: 1.只有一个dump.rdb文件,方便持久化 2.容灾性好,一个文件可以保存到安全的磁盘 3.性能最大化,使用子进程来完成写的操作,而主进程继续处理命令,所以是IO最大化,保证了redis的高性能 4.相对数据集较大的时候,比AOF的启动效率更高 缺点: 数据安全性低。(RDB是间隔一段时间才进行持久化,如果在此期间,redis发生故障,会导致数据丢失。所以这种方式更适合对数据要去不严谨的时候使用) 2)AOF(Appeng-only file)持久化方式:所有的命令记录以redis命令请求协议的格式持久化保存为aof文件 优点: 1、数据安全,配置appendfsync属性实现持久化,每进行一次命令操作,都会记录到aof文件中一次。 2、通过append模式写文件,及时中途redis宕机,可以通过redis-check-aof工具解决数据一致性问题 缺点: 1、AOF文件比RDB文件大,且恢复速度慢 2、数据集较大的时候,比RDB启动效率低



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有