redis
文章平均质量分 72
liuyunshengsir
全栈工程师
展开
-
关于redis key命名规范的设计
使用Set,Zset,List,Hash等集合类的O(N)操作时要评估当前元素个数的规模以及将来的增长规模,对于短期就可能变为大集合的key,要预估O(N)操作的元素数量,避免全量操作,可以使用HSCAN,SSCAN,ZSCAN进行渐进操作。4、【推荐】Redis的使用,应该考虑冷热数据分离,不该将所有数据全部放到Redis中,对于使用不频繁,且无关紧要的信息存入MySQL,或日志文件中,Redis的数据存储全部都是在内存中的,成本昂贵。申请之前,需要拿出使用的合理方案,然后进行评估,避免随意使用。原创 2023-03-22 11:35:42 · 530 阅读 · 0 评论 -
深入理解一致性哈希算法
什么是哈希 数据结构中我们学习过哈希表也称为散列表,我们来回顾下散列表的定义。 散列表,是根据键直接访问在指定储存位置数据的数据结构。通过计算一个关于键的函数也称为哈希函数,将所需查询的数据映射到表中一个位置来访问记录,加快查找速度。这个映射函数称做「散列函数」,存放记录的数组称做散列表。 散列函数能使对一个数据序列的访问过程更加迅速有效,是一种空间换时间的算法,通过散列函数数据元素将被更快定位。 下图示意了字符串经过哈希函数映射到哈希表的过程。 常见的哈希算法 MD5算法 MD5消息摘要算法(MD5 M原创 2021-11-24 16:54:24 · 219 阅读 · 0 评论 -
redis 缓存异常及解决方案
1.缓存雪崩 缓存雪崩是指缓存同一时间大面积的失效,所以,后面的请求都会落到数据库上,造成数据库短时间内承受大量请求而崩掉。 解决方案 缓存数据的过期时间设置随机,防止同一时间大量数据过期现象发生。 一般并发量不是特别多的时候,使用最多的解决方案是加锁排队。 给每一个缓存数据增加相应的缓存标记,记录缓存的是否失效,如果缓存标记失效,则更新数据缓存。 2.缓存穿透 缓存穿透是指缓存和数据库中都没有的数据,导致所有的请求都落到数据库上,造成数据库短时间内承受大量请求而崩掉。 解决方案 接口层增加校验,如原创 2021-11-04 16:38:24 · 623 阅读 · 0 评论 -
redis 简单动态字符串
总结 摘抄原创 2021-11-03 20:22:10 · 92 阅读 · 0 评论 -
Redis 单线程的理解
单线程模型 Redis 客户端对服务端的每次调用都经历了发送命令,执行命令,返回结果三个过程。其中执行命令阶段,由于Redis 是单线程来处理命令的,所有每一条到达服务端的命令不会立刻执行,所有的命令都会进入一个队列中,然后逐个被执行。并且多个客户端发送的命令的执行顺序是不确定的。但是可以确定的是不会有两条命令被同时执行,不会产生并发问题,这就是Redis的单线程基本模型。 redis 是不是单线程? 单线程指的是网络请求模块使用了一个线程(所以不需考虑并发安全性),即一个线程处理所有网络请求,其他模块仍用原创 2021-11-03 14:02:26 · 260 阅读 · 0 评论 -
【大厂面试系列】吊打面试官之Redis高频面试题
概述 什么是 Redis? Redis 有哪些优缺点? 为什么要用 Redis / 为什么要用缓存? 为什么要用 Redis 而不用 map/guava 做缓存? Redis 为什么这么快? 数据类型 Redis 有哪些数据类型? Redis 的应用场景? 持久化 什么是 Redis 持久化? Redis 的持久化机制是什么?各自的优缺点? 如何选择合适的持久化方式 Redis 持久化数据和缓存怎么做扩容? 过期键的删除策略 Redis 的过期键的删除策略 Redis key 的过期时间和永久有效分别怎么设原创 2020-12-29 19:40:45 · 260 阅读 · 0 评论 -
Linux上安装redis的步骤-----------redis学习(1)
Download, extract and compile Redis with: $ wget http://download.redis.io/releases/redis-3.2.4.tar.gz $ tar xzf redis-3.2.4.tar.gz $ cd redis-3.2.4 $ make The binaries that are now compiled are av原创 2016-10-02 08:33:47 · 419 阅读 · 0 评论 -
redis常用命令----- redis学习(2)
redis的常用命令主要分为两个方面、一个是键值相关命令、一个是服务器相关命令 1、键值相关命令 keys * 取出当前所有的key exists name 查看n是否有name这个key del name 删除key name expire confirm 100 设置confirm这个key100秒过期原创 2016-10-02 09:46:11 · 294 阅读 · 0 评论