缓存服务器(redis)
givmchickenblood
try to like it,do it
展开
-
redis的setnx实现分布式锁
如果 key 不存在,Redis 将为该 key 创建一个新的条目,并设置提供的 value。整个操作从开始到结束是连续执行的,所以不会有其他操作跟这个操作冲突。,用于设置一个 key 及其对应的 value,如果并且仅当该 key 不存在。这个命令尝试设置一个 key,并且设置 30 秒的过期时间,保证即使锁的持有者在未能释放锁的情况下崩溃,锁也会在 30 秒后自动释放。Redis 首先检查 key 是否在当前数据库的 key-space 中存在。因为操作是在单个线程中顺序执行的,所以不存在并发问题。原创 2024-07-06 18:04:18 · 280 阅读 · 0 评论 -
深入Guava Cache的refresh和expire刷新机制
https://blog.csdn.net/abc86319253/article/details/53020432https://community.jiguang.cn/article/464216转载 2024-03-22 10:08:44 · 61 阅读 · 0 评论 -
redis命令scan、keys的区别
https://www.cnblogs.com/lxwphp/p/15452534.htmlhttps://blog.51cto.com/JavaAlliance/4803496转载 2024-03-18 19:59:32 · 43 阅读 · 0 评论 -
redis的事务、管道和脚本
参考 Redis高级特性命令keys :查看全部的keykeys a_ :查看以a_开头的keyexists key:判断key是否存在expire key:查看还要多少秒过期persist key:取消过期时间select 1:选择数据库(默认是0数据库,数据库从0到15共16个库)move key 1:将key移动到数据库1中randomkey 随机返回数据库中的一个key 使用场景:抽奖。rename 重命名keyecho 打印命令dbsize 查看数据库key的数量info转载 2021-10-07 21:05:06 · 117 阅读 · 0 评论 -
@Cacheable@CacheEvict@CachePut
https://blog.csdn.net/wjacketcn/article/details/50945887https://www.jianshu.com/p/49fc4065201a转载 2021-05-26 15:52:49 · 70 阅读 · 0 评论 -
Redis的五大数据类型实现原理
https://www.cnblogs.com/ysocean/p/9102811.html#_label61、对象的类型与编码Redis使用前面说的五大数据类型来表示键和值,每次在Redis数据库中创建一个键值对时,至少会创建两个对象,一个是键对象,一个是值对象,而Redis中的每个对象都是由 redisObject 结构来表示:typedef struct redisObject{ ...转载 2019-04-08 23:36:46 · 1720 阅读 · 0 评论 -
Redis缓存穿透、缓存雪崩、redis并发问题分析
https://blog.csdn.net/fanrenxiang/article/details/80542580把redis作为缓存使用已经是司空见惯,但是使用redis后也可能会碰到一系列的问题,尤其是数据量很大的时候,经典的几个问题如下:(一)缓存和数据库间数据一致性问题分布式环境下(单机就不用说了)非常容易出现缓存和数据库间的数据一致性问题,针对这一点的话,只能说,如果你的项目对缓...转载 2019-05-08 10:20:37 · 111 阅读 · 0 评论 -
Redis过期策略 实现原理
https://blog.csdn.net/xiangnan129/article/details/549286721、redis设置过期时间:expire key time(以秒为单位)--这是最常用的方式setex(String key, int seconds, String value)--字符串独有的方式注:除了字符串自己独有设置过期时间的方法外,其他方法都需要依靠exp...转载 2019-05-07 14:53:15 · 1990 阅读 · 0 评论 -
Redis的底层数据结构(6种)
https://www.cnblogs.com/ysocean/p/9080942.html1、演示数据类型的实现OBJECT ENCODING key 该命令是用来显示那五大数据类型的底层数据结构。比如对于 string 数据类型:我们可以看到实现string数据类型的数据结构有 embstr 以及 int。再比如 list 数据类型:这里我们就不做过多的演示了,那么上...转载 2019-04-08 22:12:31 · 1075 阅读 · 1 评论 -
【Redis深入】字典rehash图解
https://blog.csdn.net/baiye_xing/article/details/760884251、引入在讲rehash之前,我们先回顾一下字典的结构1.字典dict.h/dict的源码/* * 字典 */typedef struct dict { // 类型特定函数 dictType *type; // 私有数据 void *p...转载 2019-04-08 16:28:18 · 330 阅读 · 0 评论 -
分布式缓存Redis之Pipeline(管道)
参考https://blog.csdn.net/zh15732621679/article/details/80652766https://blog.csdn.net/u011489043/article/details/78769428Redis的pipeline(管道)功能在命令行中没有,但redis是支持pipeline的,而且在各个语言版的client中都有相应的实现。 由于网络开销...转载 2019-02-28 18:32:03 · 165 阅读 · 0 评论 -
Redis 分区
参考https://www.cnblogs.com/cjsblog/p/9553850.htmlhttps://blog.csdn.net/tianmangshan80/article/details/517049741 摘要Redis分区,简单的说就是将数据分布到不同的redis实例中,因此对于每个redis实例所存储的内容仅仅是所有内容的一个子集。分区(Partitioning)不仅仅...转载 2019-02-28 16:15:46 · 1283 阅读 · 0 评论 -
redis的使用场景、持久化
转自https://blog.csdn.net/tr1912/article/details/70197085?foxhandler=RssReadRenderProcessHandlerhttps://www.cnblogs.com/chenliangcl/p/7240350.html说道redis,我们可能都会知道了他是一个类似缓存的一个内存数据库,这篇我们来讲讲redis这种非关系型数...转载 2019-03-01 17:29:41 · 242 阅读 · 0 评论 -
redis集群
参考https://blog.csdn.net/suixinsuoyu12519/article/details/83781543https://blog.csdn.net/tianpeng341204/article/details/78963850从redis 3.0之后版本支持redis-cluster集群,Redis-Cluster采用无中心结构,每个节点保存管辖范围槽内的数据和整个...转载 2019-03-01 18:21:18 · 496 阅读 · 0 评论 -
Redis面试题总结
参考https://blog.csdn.net/zdp072/article/details/50991116https://blog.csdn.net/qq_34337272/article/details/80012284#commentBox坑人无数的Redis面试题(未整理,写的很棒,超出了理论范围,结合实际中的问题,给出不错的解决方案) https://blog.csdn.net/...转载 2019-03-01 21:16:39 · 19244 阅读 · 2 评论 -
Redis哨兵集群模式
看这个即可,不搬了https://www.cnblogs.com/PatrickLiu/p/8444546.html转载 2019-03-01 21:28:37 · 163 阅读 · 0 评论 -
mysql和redis的区别
https://www.cnblogs.com/zxh1297/p/9394108.html1.mysql和redis的数据库类型mysql是关系型数据库,主要用于存放持久化数据,将数据存储在硬盘中,读取速度较慢。但是支持事务等功能,具有强大的功能。适合于各种业务系统,对于海量的数据存储并没有问题。redis是NOSQL,即非关系型数据库,也是缓存数据库,即将数据存储在缓存中,缓存的读取速...转载 2019-03-14 22:29:25 · 314 阅读 · 0 评论 -
分布式之redis复习精讲
https://www.cnblogs.com/rjzheng/p/9096228.html1、为什么使用redis分析:博主觉得在项目中使用redis,主要是从两个角度去考虑:性能和并发。当然,redis还具备可以做分布式锁等其他功能,但是如果只是为了分布式锁这些其他功能,完全还有其他中间件(如zookpeer等)代替,并不是非要使用redis。因此,这个问题主要从性能和并发两个角度去答。...转载 2019-03-23 16:43:23 · 120 阅读 · 0 评论 -
Memcached的分布式算法-Consistent Hashing
我们知道以往资料要放到 M 台服务器上,最简单的方法就是取余数 (hash_value % M) 然后放到对应的服务器上,那就是当添加或移除服务器时,缓存重组的代价相当巨大。添加服务器后,余数就会产生巨变,这样就无法获取与保存时相同的服务器, 从而影响缓存的命中率。转载 2019-02-28 17:43:15 · 132 阅读 · 0 评论