redis
qq_21154829
这个作者很懒,什么都没留下…
展开
-
redis集群搭建方法
https://blog.csdn.net/xch_yang/article/details/104019552转载 2022-01-05 15:36:39 · 46 阅读 · 0 评论 -
redis问题集合
缓存雪崩,缓存穿透与缓存击穿一、缓存雪崩缓存雪崩是指缓存同一时间大面积的失效,所以,后面的请求都会落到数据库上,造成数据库短时间内承受大量请求而崩掉。解决方案:缓存数据的过期时间设置随记,放置用一时间大量数据过期现象发生。给每一个缓存数据增加响应的缓存标记,记录缓存是否失效,如果缓存标记失效,则更新数据缓存。耗费cpu比较大缓存预热,系统初启动,不对外服务,先查数据,加载数据到缓存互斥锁,锁一个方法或者锁一个key,第一个获取锁,查到数据后,数据加载到缓存,然后剩余的都到缓存中取数据。二原创 2021-12-26 23:11:44 · 834 阅读 · 0 评论 -
reids笔记
网络io多路复用实际上是使用一个进程来监控多个准备读写的io,当有需要读写的io时,进程就会工作。这样就避免了每个io都建立一个链接导致io链接过多问题。布隆过滤器布隆过滤器是为了判断一个值是否存在的一种方法,布隆过滤器实际上是一个数据的多个哈希函数结果以位的形式存储在一个bit数组上。如果使用hashmap,当数据过多时会导致内存不足。布隆过滤器数据结构布隆过滤器是一个 bit 向量或者说 bit 数组,长这样:00000000如果我们要映射一个值到布隆过滤器中,我们需要使用多个不同的哈希函原创 2021-12-22 10:32:11 · 38 阅读 · 0 评论 -
redis线程池
reis线程池参数的作用:(1)建立数据库连接池对象(服务器启动)。 (2)按照事先指定的参数创建初始数量的数据库连接(即:空闲连接数)。 (3)对于一个数据库访问请求,直接从连接池中得到一个连接。如果数据库连接池对象中没有空闲的连接,且连接数没有达到最大(即:最大活跃连接数),创建一个新的数据库连接。 (4)存取数据库。 (5)关闭数据库,释放所有数据库连接(此时的关闭数据库连接,并非真正关闭,而是将其放入空闲队列中。如实际空闲连接数大于初始空闲连接数则释放连接)。 (6)释放数据库连接池对象(服务器停原创 2021-12-22 10:31:35 · 458 阅读 · 0 评论 -
redis基础命令
选择数据库:select查看所有的key:keys my 模糊查询符合模式的key删除key:del key查看key是否存在:exists key设置key的过期时间:expire key secondsstring:设置字符串 set key value获取字符串 get key获取多个字符串 mget key1 key2设置多个字符串 mset key1 value1 key2 value2hash:查看hash中所有的field 和value hgetall key删除h原创 2021-12-22 10:30:04 · 48 阅读 · 0 评论 -
redis面试指南
https://zhuanlan.zhihu.com/p/91539644转载 2021-12-12 21:57:42 · 57 阅读 · 0 评论 -
redis面试
redis 简介简单来说 redis 就是一个数据库,不过与传统数据库不同的是 redis 的数据是存在内存中的,所以存写速度非常快,因此 redis 被广泛应用于缓存方向。另外,redis 也经常用来做分布式锁。redis 提供了多种数据类型来支持不同的业务场景。除此之外,redis 支持事务 、持久化、LUA脚本、LRU驱动事件、多种集群方案。为什么要用 redis /为什么要用缓存主要从“高性能”和“高并发”这两点来看待这个问题。高性能:假如用户第一次访问数据库中的某些数据。这个过程会比较慢原创 2021-12-12 21:53:23 · 85 阅读 · 0 评论 -
redis与mysql的数据一致性
如何保证缓存和数据库一致性,这其实是一个老生常谈的话题了。但很少人能真正把这个问题讲明白,例如:到底是更新缓存还是删缓存?到底选择先更新数据库,再删除缓存,还是先删除缓存,再更新数据库?为什么要引在这里插入代码片入消息队列保证一致性?延迟双删到底什么?会有什么问题?到底要不要用?…下面我们就来把这些问题「彻底」讲清楚。内容稍微有点长,但干货很多,希望你可以耐心读完。引入缓存提高性能我们从最简单的场景开始讲起。如果你的业务处于起步阶段,流量非常小,那无论是读请求还是写请求,直接操作数据库即可原创 2021-12-12 20:09:32 · 159 阅读 · 0 评论