redis
文章平均质量分 93
lsd&xql
不积跬步,无以至千里。
展开
-
redis学习八spring.data.redis、连接、序列化、high/low api
但是这样会产生,如果第一个人没挂,但是锁超时了,其他的人来也超时了,【此时使用多线程一个线程取DB另一个线程去监控是否取回来,更新锁时间,但是会提高客户端代码逻辑复杂度】客户端访问redis,redis做缓存用,出现情况,大量的key同时失效,间接造成大量的访问到达DB。先去getkey如果失败了以后,大家都去setnx,拿到锁的人去DB,其他的人则去随机等待。加一个判断,零点延时(业务层只要到了十二点了就做一个延时,等待更新完毕),如客户端1开启的事务未提交,客户端2的请求又来了,那么是拿不到结果的。..原创 2022-08-15 00:29:51 · 155 阅读 · 0 评论 -
redis学习七redis的集群:主从复制、CAP、PAXOS、Cluster分片集群(二)
每个node都经过一个hash算法计算出一个环形hash所在的位置,然后data来了【包含了redis的key】,也是计算hash,找到环上的某个位置,这个环上除了通过node计算出来的点是物理的,其他的都是虚拟的点【就是data通过hash计算没落在物理点上的其他点】,再将物理点通过排序的方式放在一个treeMap上面,然后算出。此方式的弊端,模的数值是固定的,会影响分布式下的扩展,因为一个数在模3模4模10取得的结果是不一样的,可能扩展了以后就取不到数据了。通常可以使用topic来区分实际业务。....原创 2022-08-14 21:29:38 · 513 阅读 · 0 评论 -
redis学习六redis的集群:主从复制、CAP、PAXOS、Cluster分片集群(一)
replica-read-only yes从机是否是只读的状态repl-diskless-sync no (yes:master在内存中直接创建rdb,然后发送给slave,不会在自己本地落地磁盘了 no:则是通过磁盘IO先落到master的磁盘上面,然后再通过网络将rdb文件发送到slave)no的整个过程:1.从服务器向主服务器发送SYNC命令2.主服务器执行BGSAVE命令,生成RDB文件,并使用一个缓冲区记录从bgsave开始的所有写命令。...原创 2022-08-12 20:16:14 · 457 阅读 · 0 评论 -
redis学习五redis的持久化RDB,fork,copyonwrite,AOF,RDB&AOF混合使用
本来要写b=4,还没写,然后修改b=6了,就把b=6写入到磁盘里面去了,在写入b=6的时候a右变成8了,然而这个时候a不会再写了,(如果启动后没有发生过重写,则使用启动时的AOF文件大小)。到物理地址的一个映射,假设redis有个a的key,对应的虚拟地址是3,指向了物理地址的8位置,redis。redis通过fork的方式创建一个子进程,且数据没有真的拷贝出来,只是加了相应的指针指向,当父进程有某些。值改变了以后,会触发内核级别的一个写时复制,则在内存中对应物理地址中,让父进程中的那个key指向新。...原创 2022-08-11 00:11:21 · 689 阅读 · 0 评论 -
redis学习四redis消息订阅、pipeline、事务、modules、布隆过滤器、缓存LRU
此时再来一个元素三,元素三在数据库里面是没有的,但是它的映射函数刚好覆盖到元素1和元素2对应的bitmap中的位置,这时就会有一定概率造成不存在的数也落在bitmap上面判断数据成功了,就会直接去从数据库里面查。客户端,然后再通过sub命令将命令发送到redis自己的一个订阅里面(存入zset),再通过sub发送订阅消息。6、通过另一个客户端处理数据的发布订阅,让数据实时,然后再将过去3天的数据同步到redis。缓存的数据不重要,并且不是全量的数据,缓存应该随着访问变化【所以存入的是热数据】。...原创 2022-08-01 23:12:45 · 282 阅读 · 0 评论 -
redis学习三redis里的list、set、hash、sorted_set、skiplist
这样存储的成本是极低的,如果这个sean有100个字段,可以发一个keysxxx*然后对拿到的所有key。依次给出这个操作有几个key去参与,权重是和key按顺序来的,以及相应的聚合参数,以便处理分值。当有一个x=11想往这个跳跃表里面插入元素的时候,在我们的key当中会维护第一个头的元素。,如果小于头则直接插入到最下层的头节点的前一个元素上面,如果大于最上层的第一个元素,指针,然后根据这个指针可以找到各层的指针的元素,首先去和最上层的第一个元素去比较。...原创 2022-07-28 22:00:57 · 657 阅读 · 0 评论 -
redis的string类型及bitmap
key的type类型,是用于判断访问的方法是不是具备这个类型的操作,可以快速返回错误,可以规避异常。encoding是可以规避同一种type类型但是根据不同的表现形式做计算这件事,还有length属性,如果数据未发生改变可以直接返回长度httpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttpshttps。...原创 2022-07-26 22:17:55 · 435 阅读 · 0 评论 -
redis学习一redis介绍及NIO原理介绍
常识redis简介redis安装epoll介绍redisvalue类型的意义如果我的客户端想通过一个缓存系统(keyvalue)取回value中的某一个元素,memcached需要返回所有的数据到client,server网卡IO,client要有实现的代码去解码,又两个复杂度,如果换成redis,类型不是很重要,重要的是redis的server中对每种类型都有自己的方法。计算向数据移动redis根据value类型来获取计算,并将计算的少量结果返回给client。问题。...原创 2022-07-24 00:14:08 · 865 阅读 · 0 评论