![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
nosql数据库
文章平均质量分 67
redis
100兄
这个作者很懒,什么都没留下…
展开
-
hotkey和bigkey会有的问题
Hash类型:成员的数据量过大,它的成员数量虽然只有1000个但这些成员的Value总大小为100 MB。使用unlink代替del命令,异步删除,不会阻塞主线程。String类型:根据数据量,value值超过10KB。List类型:根据列表大小,列表大小超过20000。list set zset hash可以分批次删除。redis客户端可以用bigkeys命令来查找。Set类型:根据成员多少,成员超过10000。原创 2023-12-02 15:02:08 · 36 阅读 · 0 评论 -
redis 布隆过滤器原理
布隆过滤器早在1970就提出了,一直沿用到现在,它主旨是采用一个很长的二进制数组,并通过一系列的hash函数来确定该数据是否存在。布隆过滤器原理:创建长度为100的数组,全值都为0。还有无法判断数据一定存在,另外还有一个重要缺点,无法删除数据。查询数据时,同样进行hash,对比长度100的数组,其值为1时存在,其值为0时一定不存在。二进制组成的数组,占用内存极少,并且插入和查询速度都足够快。存入数据,进行多次hash,对返回的hash值修改为1。【数据不存在,一定是不存在的。数据存在,可能存在】原创 2023-12-02 11:40:06 · 24 阅读 · 0 评论 -
redis穿透雪崩击穿
正常的访问流程。原创 2023-12-02 10:24:34 · 22 阅读 · 0 评论 -
Redis 高可用集群
Redis集群是一种通过将多个Redis节点连接在一起以实现高可用性、数据分片和负载均衡的技术。它允许Redis在不同节点上同时提供服务,提高整体性能和可靠性。根据搭建的方式和集群的特性,原创 2023-12-02 09:12:08 · 38 阅读 · 0 评论 -
redis数据库数据类型和底层类型
不仅分配必要的空间还好分配额外的空间,下次修改时会先判断未使用的空间是否够用,满足直接添加,不满足再进行扩充。c是没有字符串长度的,相邻的两个字符串的存储有可能是紧挨着的,当一个字符串变长时就没有办法放下,只能侵占后一个字符串的空间。Redis的set是无序的,自动去重的数据类型,它的底层是一个字典dict。ziplist可以在配置文件【redis.conf】中通过zset-max-ziplist-entries和zset-max-ziplist-value来配置,使用ziplist。原创 2023-11-30 17:51:10 · 18 阅读 · 0 评论 -
redis持久化
因为redis的数据是保存在内存中的,因此重启服务器,数据就会丢失。redis提供了数据持久化方案。redis将数据保存到磁盘上,假如服务器重启后,通过磁盘中的文件恢复到内存中就可以了。原创 2023-12-01 15:23:04 · 21 阅读 · 1 评论 -
redis中的事务
6.0优化后,worker线程主要负责计算,其他3核进行读取和返回 配置文件默认不开启io-threads【IO thread】可以通过配置文件开启 io-threads 4 io-threads-do-redis yes。watch,监视某个键值对,它的作用是在事务执行之前如果监视的键值被修改,事务会被取消。exec时,命令要么执行,要么都不执行,批量操作不会检查语法。lpop b 没有语法错误,执行后,有命令报错,也会执行完。redis事务要么执行,要么都不执行。提交后的命令,一定会执行。原创 2023-12-01 10:06:49 · 25 阅读 · 1 评论