redis
Homefei
这个作者很懒,什么都没留下…
展开
-
Redis缓存和数据库保持一致解决方案
什么时候缓存不一致?当mysql数据库中执行了更改操作 但是redis里面是更新之前的价格,这个时候可能会出现缓存不一致。可以在每次更新数据库的时候删除redis缓存,然后查询的时候判断redis里面是否有缓存 ,没有再新增。但是在高并发的情况下,小几率情况会出现,先执行1 删除缓存,在2还没得及执行的时候,判断缓存为空,然后再次读取,还是读取的旧的数据。解决方法:保证1和2同步执行—添加内存锁,被动缓存中,只要发现这个内存锁,说明有人在更新数据,不会使用缓存!业务层实现代码如下:public原创 2020-06-15 09:14:09 · 1044 阅读 · 1 评论 -
关于 Redis槽道的理解
槽道原理槽道原理在redis-cluster 存在分布式计算原则–hash 槽,引入16384个槽道.槽道组成结构o16384位的二进制,以2048个元素的byte数据存储在每个节点内存里—位序列o16384个元素的数组,元素值,指向的是一个内存的节点对象node—共享数组/索引数组位序列每个节点在集群创建之初都会根据槽道管理权的分配创建一个二进制数据主节点的二进制:将管理的槽道和二进制中的bit值做对应关系16384位的二进制,定义,从左到右,位数0,1,2,…16383 对应槽道号原创 2020-06-13 15:45:18 · 1172 阅读 · 3 评论 -
关于Redis使用连接池介绍
Jedis连接池jedis为了防止使用连接对象jedis时频繁的创建和销毁,造成资源的浪费,提供了一个Jedis连接池,这个连接池是jedis最底层的连接池,其他的redis结构对应jedis对象,底层都会封装这个jedis连接池.可以从连接池中获取jedis对象,使用完毕后归还这个链接对象1.1连接池的内存结构一次性创建多个jedis对象,在一个连接池对象中管理.1.2连接池的一些属性初始化连接数量:创建连接池时,默认一开始连接对象个数最小空闲数量:连接池中的连接对象空闲的最小个数,小于最小原创 2020-06-13 11:00:41 · 2116 阅读 · 1 评论