随笔分类 -  redis

摘要:在开发Web项目时,使用Jedis客户端与Redis进行交互时,通常建议将 JedisPool 设置为单例或静态的,而 Jedis 实例则不应该是单例的。之前写过jedis使用注意事项,大家可以先阅读一下,然后再看下面的最佳实践: 1. JedisPool 设置为单例或静态 原因: JedisPoo 阅读全文
posted @ 2025-01-02 10:47 张占岭 阅读(259) 评论(0) 推荐(0) 编辑
摘要:在Redisson中,锁的续期是一个关键特性,用于确保在锁的持有者仍在执行任务期间,锁不会被意外释放。 看门狗什么时间被启用 Redisson中的看门狗(watchdog)机制的行为确实与是否显式指定锁的超时时间有关。 lock() 方法与看门狗: 当您使用 lock() 方法而不传递任何参数时,R 阅读全文
posted @ 2024-12-25 16:05 张占岭 阅读(124) 评论(0) 推荐(0) 编辑
摘要:Jedis Jedis 是一个 Java 客户端,用于与 Redis 数据库进行交互。它提供了一系列简单易用的 API,使得在 Java 应用程序中使用 Redis 变得非常方便。以下是 Jedis 的使用方法及一些注意事项。 Jedis的优势 Lettuce客户端及Jedis客户端比较如下: Le 阅读全文
posted @ 2024-12-13 20:45 张占岭 阅读(211) 评论(2) 推荐(0) 编辑
摘要:redis配置文件开启键过期 # The "notify-keyspace-events" takes as argument a string that is composed # of zero or multiple characters. The empty string means tha 阅读全文
posted @ 2024-04-28 10:41 张占岭 阅读(221) 评论(0) 推荐(0) 编辑
摘要:redis-cluster是一个高可用,可分片的分布式redis集群解决方案,建议使用springboot2.3及以上版本的脚手架,如果是<2.3版本,你需要手动添加LettuceConnectionFactory来实现因为服务器宕机引起的节点感应功能;如果没有添加动态感应,那你的redis-clu 阅读全文
posted @ 2022-10-24 16:54 张占岭 阅读(615) 评论(0) 推荐(0) 编辑
摘要:早在几年前就有了sessionState进行共享session的方式,今天总结一下高可用redis实现的共享session的方式 sentinel集群搭建 工作过程图 配置 Redis数据服务配置 首先配置Redis的主从服务器,修改redis.conf文件如下 主服务配置 bind 192.168 阅读全文
posted @ 2020-12-29 14:32 张占岭 阅读(596) 评论(0) 推荐(0) 编辑
摘要:通过lua脚本来运行redis命令主要体现在批量执行和跨语言方面,我们可以通过redis.call()函数来执行lua脚本,下面介绍几个lua里的参数 eval lua-script key-num [key1 key2 key3 ....] [value1 value2 value3 ....] 阅读全文
posted @ 2020-08-20 15:55 张占岭 阅读(579) 评论(0) 推荐(0) 编辑
摘要:概念 LRU(Least Recently Used)最近最少使用算法是众多置换算法中的一种。 maxmemory Redis中有一个maxmemory概念,主要是为了将使用的内存限定在一个固定的大小。Redis用到的LRU 算法,是一种近似的LRU算法。 设置maxmemory 注意,在64bit 阅读全文
posted @ 2019-08-28 14:16 张占岭 阅读(2374) 评论(0) 推荐(0) 编辑
摘要:原子性 原子性是数据库的事务中的特性。在数据库事务的情景下,原子性指的是:一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。 对于Redis而言,命令的原子性指的是:一个操作的不可以再分,操作要么执行,要么不执行。 Redis操作原子性的原因 Re 阅读全文
posted @ 2018-07-12 16:16 张占岭 阅读(17485) 评论(0) 推荐(1) 编辑
摘要:回到目录 分布锁主要用在多进程共同访问同一个资源时候,用来保持同一时间段只能有一个进程执行,同时避免了并发冲突的出现,这在很多场景都会用到,像秒杀库存,抽奖库存,多操作者处理一家公司等。 你可以写个并成的程序去测试一下,然后把它封装一下,方便其它开发人员直接使用! 感谢阅读! 回到目录 阅读全文
posted @ 2018-01-05 15:14 张占岭 阅读(1515) 评论(0) 推荐(0) 编辑
摘要:在windows平台的vs里,添加包包时,可以选择StackExchange.redis,而如果你的应该程序需要部署到linux的mono环境上,使用这个StackExchange.redis是不行的,是连接不上咱们的redis的。 正确的做法是把mono版本的StackExchange.redis 阅读全文
posted @ 2017-08-11 13:58 张占岭 阅读(823) 评论(0) 推荐(0) 编辑
摘要:回到目录 关于redis连接数过高的解释 对于node.js开发环境里,使用传统的redis或者使用ioredis都是不错的选择,而在处理大数据请求程中,偶尔出现了连接池( redis服务端的最大可用连接数,默认为1万)不够用的情况,一般的提示如下: It was not possible to c 阅读全文
posted @ 2017-05-18 10:00 张占岭 阅读(2582) 评论(0) 推荐(0) 编辑
摘要:回到目录 Twenproxy除了可以作为redis的代理,它同样支持memerycached。我这里主要了解Twemproxy在redis集群上的解决方案。Twemproxy除了完美的解决了分片,路由等功能(同样采用了一致性hash算法) Twenproxy实现redis集群高可用 它支持node 阅读全文
posted @ 2017-05-12 14:05 张占岭 阅读(1191) 评论(0) 推荐(0) 编辑
摘要:回到目录 Redis的生产环境建议部署到linux上,而在开发时可以连接windows版本,下面介绍如何在linux上部署redis。 上面语句wget从互联网上下载一个安装包,tar它将包包解压,make为编译和安装程序。 如果wget工具没有安装到linux上,可以通过yum指令去从网上安装这个 阅读全文
posted @ 2017-03-12 18:37 张占岭 阅读(1355) 评论(0) 推荐(2) 编辑
摘要:回到目录 空间与时间 空间换时间是在数据库中经常出现的术语,简单说就是把查询需要的条件进行索引的存储,然后查询时为O(1)的时间复杂度来快速获取数据,从而达到了使用空间存储来换快速的时间响应!对于redis这个k/v存储系统来说,复杂的查询不是它所建议的,它的优势在于通过key快速定位数据,它定位数 阅读全文
posted @ 2016-11-11 10:37 张占岭 阅读(2172) 评论(8) 推荐(4) 编辑
摘要:回到目录 对于StackExchange.Redis这个驱动来说,之前的版本在使用Proxy为Twemproxy代理时,它是不支持Password属性的,即不支持原始的Auth指令,而我也修改过源代码,为CommandMap添加了Auth但最后测试的结果还是失败了,就在10月1过完后的第一天,我升级 阅读全文
posted @ 2016-10-09 09:12 张占岭 阅读(1881) 评论(0) 推荐(14) 编辑
摘要:回到目录 两雄争霸 使用StackExchange.Redis的原因是因为它开源,免费,而对于商业化的ServiceStack.Redis,它将一步步被前者取代,开源将是一种趋势,商业化也值得被我们尊重,毕竟人家研究代码也不容易,做商品也很正常,当然这不是我们今天的重点,今天主要说一下对StackE 阅读全文
posted @ 2016-09-28 14:21 张占岭 阅读(1949) 评论(5) 推荐(8) 编辑
摘要:回到目录 对于redis-sentinel我在之前的文章中已经说过,它是一个仲裁者,当主master挂了后,它将在所有slave服务器中进行选举,选举的原则当然可以看它的官方文章,这与我们使用者没有什么关系,而对于sentinel来说,它在进行主从切换时,会触发相关事件,这是和我们开发人员有关系的, 阅读全文
posted @ 2016-09-01 11:47 张占岭 阅读(5231) 评论(3) 推荐(8) 编辑
摘要:回到目录 关于redis-sentinel出现的原因 Redis集群的主从模式有个最大的弊端,就是当主master挂了之前,它的slave从服务器无法提升为主,而在redis-sentinel出现之后,有效的解决了这个问题,它相当于是一个投票者或者哨兵,它时刻监视着redis集群的各个服务器,当主m 阅读全文
posted @ 2016-08-31 14:07 张占岭 阅读(5411) 评论(10) 推荐(5) 编辑
摘要:回到目录 本文是Redis集群系列的一篇文章,主要介绍使用StackExchange.Redis进行Twemproxy(文中简称TW)代理服务的连接过程,事务上,对于TW来说,我们需要理解一下它的物理架构,它类似于Nugix,主要实现的是请求转发,但它还有一个重要的功能,那就是自动分片,这对于大数据 阅读全文
posted @ 2016-08-23 23:07 张占岭 阅读(2645) 评论(1) 推荐(6) 编辑