redis的五种数据类型、redis持久化机制 | 您所在的位置:网站首页 › redis五种数据结构使用什么 › redis的五种数据类型、redis持久化机制 |
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的分数数可以重复的 应用场景:排行榜,视频播放量、点赞数等等 (1)、定时删除:在设置键的过期时间的同时,创建一个定时器,当键在过期时间的时候自动删除该键 (2)、惰性删除:放任过期时间不管,每次从redis中获取该键的时候,都会检查该键是否过期,如果过期了就删除,去过过期就返回该键 (3)、定期删除:每个一段时间检查一次,即使键已经过期,但是还没有到定期检查的时间,也不会删除键,到了定期时间,程序就会检查所有的键是否过期,将已过期的键删除 redis持久化机制Redis有两种持久化机制,RDB和AOF |
CopyRight 2018-2019 实验室设备网 版权所有 |