
redis
希望之光芒
风一样的速度,风一样的自由
展开
-
Redis 的主从同步
Redis 主从同步Redis主从同步。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。这使得Redis可执行单层树复制。存盘可以有意无意的对数据进行写操作。由于完全实现了发布/订阅机制,使得从数据库在任何地方同步树时,可订阅一个频道并接收主服务器完整的消息发布 记录。同步对读取操作的可扩展性和数据冗余很有帮助。工作原理:Redis的主从结构可以采...原创 2019-11-29 15:35:24 · 191 阅读 · 0 评论 -
Redis 持久化之RDB和AOF
Redis 有两种持久化方案,RDB (Redis DataBase)和 AOF (Append Only File)。如果你想快速了解和使用RDB和AOF,可以直接跳到文章底部看总结。本章节通过配置文件,触发快照的方式,恢复数据的操作,命令操作演示,优缺点来学习 Redis 的重点知识持久化。RDB 详解RDB 是 Redis 默认的持久化方案。在指定的时间间隔内,执行指定次数的写操作,...转载 2019-06-20 16:18:01 · 101 阅读 · 0 评论 -
Redis 缓存的穿透,雪崩和热点key
穿透穿透:频繁查询一个不存在的数据,由于缓存不命中,每次都要查询持久层。从而失去缓存的意义。解决办法:①用一个bitmap和n个hash函数做布隆过滤器过滤没有在缓存的键。 ②持久层查询不到就缓存空结果,有效时间为数分钟。雪崩雪崩:缓存大量失效的时候,引发大量查询数据库。解决办法:①用锁/分布式锁或者队列串行访问 ②缓存失效时间均匀分...转载 2018-07-26 17:37:25 · 291 阅读 · 2 评论 -
redis集群部署sentinel--两台实现
1.sentinelredis的sentinel系统用于管理多个redis服务器,主要执行三个任务: 1)监控:sentinel不断检查主从服务器是否运行正常; 2)提醒:当某个redis服务器出现问题,可以通过API发送通知; 3)自动故障迁移:当一个主服务器不能正常工作时, Sentinel 会开始一次自动故障迁移操作,它会将失效主服务器的其中一个从服务器升级为新的主服务器, 并让失效主服务器...转载 2018-03-31 10:48:59 · 1460 阅读 · 2 评论 -
Redis和Memcache的区别总结
数据类型redis数据类型丰富,支持set liset等类型memcache支持简单数据类型,需要客户端自己处理复杂对象持久性redis支持数据落地持久化存储memcache不支持数据持久存储分布式存储redis支持master-slave复制模式memcache可以使用一致性hash做分布式value大小不同memcache是一个内存缓存,key的长度小于250字符,单个item存储要小于1M,...转载 2018-03-19 15:52:29 · 150 阅读 · 0 评论 -
RedisTemplate实现事物问题剖析和解决
一、问题描述 Redis为单进程单线程模式,采用队列模式将并发访问变成串行访问,Redis对事物支持不会很复杂,当一个客服端连接Redis服务时,发出了MULTI命令时,这个连接会进入事物,在执行MULTI命令之后,执行所有的命令都不会执行,会先放到一个队列中,会提示正在Query,当最后执行EXEC命令之后,Redis会按照之前的进入队列的顺序,执行命令。 Spring Dat...转载 2018-02-24 11:34:44 · 1813 阅读 · 0 评论 -
redis笔记
1、redis 常用可视化工具RedisDesktopManager2、注意问题有人提出一个很奇怪的现象,如果不使用set方法设置点击量的初始值,直接调用increment方法,Redis中存入的是正常的数字字符串,没有被序列化!这个现象仔细想想,跟sdr没有半毛钱关系的,更扯不到序列化。看上图中的一句说明,“如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执...原创 2018-02-23 18:02:42 · 249 阅读 · 0 评论 -
使用Redis模拟简单分布式锁,解决单点故障的问题
求描述: 最近做一个项目,项目中有一个功能,每天定时(凌晨1点)从数据库中获取需要爬虫的URL,并发送到对应的队列中,然后客户端监听对应的队列,然后执行任务。如果同时部署多个定时任务节点的话,每个节点都会去查数据库,然后将查到的url发送到队列中,这样的话,客户端就会执行很多重复的任务,如果不同时部署多个节点的话,又存在单点故障的风险。要解决这种类似的问题,可以使用分布式锁来实现,当节点获取...转载 2018-02-23 16:31:41 · 541 阅读 · 0 评论 -
使用redis计数器防止并发请求
需求描述 最近项目中有个需求,短信发送的并发请求问题:业务需求是需要限制一个号码一分钟内只能获取一次随机码,之前的实现是短信发送请求过来后,先去数据库查询发送记录,根据上一次的短信发送时间和当前时间比较,如果时间差小于一分钟,则提示短信获取频繁,如果超过一分钟,则发送短信,并记录短信发送日志。问题分析 短信发送是一个很敏感的业务,上面的实现存在一个并转载 2018-01-04 16:25:08 · 760 阅读 · 0 评论 -
Spring-data-redis操作redis知识总结
什么是spring-data-redis spring-data-redis是spring-data模块的一部分,专门用来支持在spring管理项目对redis的操作,使用java操作redis最常用的是使用jedis,但并不是只有jedis可以使用,像jdbc-redis,jredis也都属于redis的java客户端,他们之间是无法兼容的,如果你在一个项目中使用了jedis,然后转载 2017-11-07 15:37:19 · 363 阅读 · 0 评论