Redis
文章平均质量分 91
秋夜无霜
好学Java
展开
-
关于Redis数据过期策略
1、Redis中key的的过期时间通过EXPIRE key seconds命令来设置数据的过期时间。返回1表明设置成功,返回0表明key不存在或者不能成功设置过期时间。在key上设置了过期时间后key将在指定的秒数后被自动删除。被指定了过期时间的key在Redis中被称为是不稳定的。当key被DEL命令删除或者被SET、GETSET命令重置后与之关联的过期时间会被清除127.0.0.1:6379> setex s 20 1OK127.0.0.1:6379> ttl s(integer转载 2021-02-27 20:48:52 · 522 阅读 · 0 评论 -
基于Redis解决业务场景中延迟队列的应用实践
文章目录一、业务概述二、代码实现2.1、工单队列实现2.1.1、定义上下文类(`WorkOrderContext`)2.1.2、定义抽象缓存类(`AbstractCacheManager`)2.1.3、定义基于Redis Cache的Manager类(`WorkOrderCacheManager`)2.1.4、工单队列管理器(`WorkOrderQueueManager`)2.2、工单队列转移管理器2.2.1、工单队列转移管理器(`WorkOrderQueueTransfer`)2.3、Redis过期key原创 2020-08-16 17:47:44 · 407 阅读 · 0 评论 -
记一次使用Redis Cache引起的Bug排查及修复总结
一次产品需求愉快的上线后,翌日下午有用户反馈,工单流程状态不对,为何不对呢?经过跟用户微信电话沟通,工单提交后,流程子状态应该展示转存量。是的,没有错,业务流程没有问题,应该是我的程序出现bug了。恰巧上线后翌日,北京气象局多次短信通知,有大暴雨,注意防涝。尽管如此,当日我依然来到公司,排查一些其他反馈问题。室外开始大雨来临,我收拾电脑准备回家,到家后准备吃饭,微信群又反馈出现几单状态不正确,我回复"刚到家,吃饭后立即排查"。吃饭后,经过电脑前一系列排查最终找到问题,当时已经晚上22点多了。业务概.原创 2020-08-13 21:56:38 · 1270 阅读 · 0 评论 -
分布式之redis复习精讲
引言为什么写这篇文章?博主的《分布式之消息队列复习精讲》得到了大家的好评,内心诚惶诚恐,想着再出一篇关于复习精讲的文章。但是还是要说明一下,复习精讲的文章偏面试准备,真正在开发过程中,还是脚踏实地,一步一个脚印,不要投机取巧。考虑到绝大部分写业务的程序员,在实际开发中使用redis的时候,只会setvalue和getvalue两个操作,对redis整体缺乏一个认知。又恰逢博主某个同事下周要去...转载 2019-12-31 11:56:20 · 97 阅读 · 0 评论 -
【设计模式活用】之基于google guava和redis的一二级缓存设计实现
我们通常在接口QPS特别比较高的情况下,为了减少对数据库的频繁查询,会引入缓存,以提高接口查询性能。但是对于缓存,为了减少对Redis耦合依赖,以进一步减少网络调用,通常又会引入一级缓存,这样一二级缓存双保险可以避免缓存击穿而带来数据库QPS瓶颈而带来的灾难。而本文采用基于google guava(一级缓存)+redis(二级缓存)设计实现,同时为了后期扩展性一级可维护性,即所谓的“开闭“原则...原创 2019-05-18 16:36:17 · 2387 阅读 · 4 评论 -
Redis高可用分布式内部交流(九)
http://www.cnblogs.com/mushroom/p/4752962.html这是上月在公司内部的一次分享,现把PPT及交流内容整理成博客。阅读目录:高可用数据同步分布式分布式集群时代总结高可用高可用(High Availability),是当一台服务器停止服务后,对于业务及用户毫无影响。 停止服务的原因可能由于网卡、路由器、机房、CP转载 2017-07-15 09:59:44 · 287 阅读 · 0 评论 -
Redis分布式锁服务(八)
http://www.cnblogs.com/mushroom/p/4752499.html阅读目录:概述分布式锁多实例分布式锁总结概述在多线程环境下,通常会使用锁来保证有且只有一个线程来操作共享资源。比如:object obj = new object();lock (obj) { //操作共享资源 }利用操作系统提供的转载 2017-07-15 09:58:41 · 301 阅读 · 0 评论 -
Redis性能问题排查解决手册(七)
http://www.cnblogs.com/mushroom/p/4738170.html 阅读目录:性能相关的数据指标内存使用率used_memory命令处理总数total_commands_processed延迟时间内存碎片率回收key总结性能相关的数据指标通过Redis-cli命令行界面访问到Redis服务器,然后使用info命令获取所有与Redis转载 2017-07-15 09:57:30 · 418 阅读 · 0 评论 -
Redis系列(六)-SortedSets设计技巧
http://www.cnblogs.com/mushroom/p/4659206.html阅读目录:介绍Score占位更多位信息总结介绍Redis Sorted Sets是类似Redis Sets数据结构,不允许重复项的String集合。不同的是Sorted Sets中的每个成员都分配了一个分数值(score),它用于在Sorted Sets中进行成员排序转载 2017-07-15 09:56:32 · 276 阅读 · 0 评论 -
Redis系列(五)-Opserver的监控
http://www.cnblogs.com/mushroom/p/4609365.html阅读目录:基本介绍使用配置部署实例面板属性基本介绍Opserver是Stack Exchange的一个开源监控系统,基于Net、MVC开发,所以Net程序员可以轻松基于它二次开发。它主要监控:serversSQL clusters/instancesrediselas转载 2017-07-14 22:20:53 · 682 阅读 · 0 评论 -
Redis系列(四)-低成本高可用方案设计
http://www.cnblogs.com/mushroom/p/4526912.html关于Redis高可用方案,看到较多的是keepalived、zookeeper方案。 keepalived是主备模式,意味着总有一台浪费着。zookeeper工作量成本偏高。 本文主要介绍下使用官方sentinel做redis高可用方案的设计。阅读目录:Redis Sentine转载 2017-07-14 22:19:53 · 483 阅读 · 0 评论 -
Redis系列(三)-Redis发布订阅及客户端编程
http://www.cnblogs.com/mushroom/p/4470006.html阅读目录发布订阅模型Redis中的发布订阅客户端编程示例0.3版本Hredis发布订阅模型在应用级其作用是为了减少依赖关系,通常也叫观察者模式。主要是把耦合点单独抽离出来作为第三方,隔离易变化的发送方和接收方。发送方:只负责向第三方发送消息。(杂志社把读者杂志交给邮局转载 2017-07-14 22:19:04 · 415 阅读 · 0 评论 -
Redis系列(二)-Hredis客户端设计及开源
http://www.cnblogs.com/mushroom/p/4217541.html阅读目录:项目说明Hredis设计图 单元测试场景 总结项目说明 背景:因为有地方要用,而又没找到对sentinel良好支持的Net客户端,所以就简单重写了个。 目标:尽可能的简单,轻量级,不进行过度的封装,使用方便。 代码说明:转载 2017-07-14 22:18:09 · 465 阅读 · 0 评论 -
c#实现redis客户端(一)
最近项目使用中要改造redis客户端,看了下文档,总结分享一下。阅读目录:协议规范基础通信状态命令set、get命令管道、事务总结协议规范redis允许客户端以TCP方式连接,默认6379端口。传输数据都以\r\n结尾。请求格式*\r\n$\r\n\r\n例:*1\r\n$4\r\nINFO\r\n响应格式1:简单字符串,非二进制安全字符转载 2017-07-14 22:17:00 · 1427 阅读 · 0 评论