redis
文章平均质量分 74
初心ya
这个作者很懒,什么都没留下…
展开
-
Redis内存满了的几种解决方法(内存淘汰策略与Redis集群)
1,增加内存;2,使用内存淘汰策略。3,Redis集群。`重点介绍下23;第2点:我们知道,redis设置配置文件的maxmemory参数,可以控制其最大可用内存大小(字节)。那么当所需内存,超过maxmemory怎么办?这个时候就该配置文件中的maxmemory-policy出场了。其默认值是noeviction。下面我将列出当可用内存不足时,删除redis键具有的淘汰规则。规则名称规则说明volatile-lru使用LRU算法删除一个键(只对设置了生存时间的键原创 2020-06-15 17:06:35 · 318 阅读 · 1 评论 -
Redis 5大数据类型 详解
redis中所有数据结构都以唯一的key字符串作为名称,然后通过这个唯一的key来获取对应的value不同的数据类型数据结构差异就在于value的结构不一样1. 字符串(string)value的数据结构(数组)字符串value数据结构类似于数组,采用与分配容易空间来减少内存频繁分配当字符串长度小于1M时,扩容就是加倍现有空间如果字符串长度超过1M时,扩容时最多扩容1M空间,字符串最大长度为 512M字符串的使用场景(缓存)字符串一个常见的用途是缓存用户信息,.原创 2020-06-09 18:25:32 · 178 阅读 · 0 评论 -
为什么要使用celery,以及broker的选择标准
celery是什么? Celery是基于Python开发的一个分布式任务队列框架,支持使用任务队列的方式在分布的机器/进程/线程上执行任务调度celery的使用场景?有延时需要网络IO的,并且不关心返回结果的数据。例如:你想对100台机器执行一条批量命令,可能会花很长时间 ,但你不想让你的程序等着结果返回,而是给你返回 一个任务ID,你过一段时间只需要拿着这个任务id就可以拿到任务执行结果, 在任务执行ing进行时,你可以继续做其它的事情定时任务(django-crontable)celer原创 2020-06-01 12:38:32 · 1931 阅读 · 0 评论 -
Redis——性能的优化
尽管Redis是一个非常快速的内存数据存储媒介,也并不代表Redis不会产生性能问题。Redis采用单线程模型,所有的命令都是由一个线程串行执行的,所以当某个命令执行耗时较长时,会拖慢其后的所有命令,这使得Redis对每个任务的执行效率更加敏感。针对Redis的性能优化,主要从下面几个层面入手:最初的也是最重要的,确保没有让Redis执行耗时长的命令使用pipelining将连续执行的命令组合执行操作系统的Transparent huge pages功能必须关闭:echo never>/原创 2020-05-23 11:47:23 · 196 阅读 · 0 评论 -
Redis——解决超卖问题
redis事务redis事务介绍:redis事务可以一次执行多个命令,本质是一组命令的集合。一个事务中的所有命令都会序列化,按顺序串行化的执行而不会被其他命令插入作用:一个队列中,一次性、顺序性、排他性的执行一系列命令multi指令的使用下面指令演示了一个完整的事物过程,所有指令在exec前不执行,而是缓存在服务器的一个事物队列中服务器一旦收到exec指令才开始执行事物队列,执行完毕后一次性返回所有结果因为redis是单线程的,所以不必担心自己在执行队列是被打断,可以保证这样的“原子性原创 2020-05-23 11:02:07 · 3167 阅读 · 0 评论 -
Redis——内存管理与数据淘汰机制
最大内存设置默认情况下,在32位OS中,Redis最大使用3GB的内存,在64位OS中则没有限制。在使用Redis时,应该对数据占用的最大空间有一个基本准确的预估,并为Redis设定最大使用的内存。否则在64位OS中Redis会无限制地占用内存(当物理内存被占满后会使用swap空间),容易引发各种各样的问题。通过如下配置控制Redis使用的最大内存:maxmemory 100mb在内存占用达到了maxmemory后,再向Redis写入数据时,Redis会:根据配置的数据淘汰策略尝试淘汰数据,释原创 2020-05-23 10:29:46 · 138 阅读 · 0 评论 -
详解Redis中两种持久化机制RDB和AOF
redis是一个内存数据库,数据保存在内存中,但是我们都知道内存的数据变化是很快的,也容易发生丢失。幸好Redis还为我们提供了持久化的机制,分别是RDB(Redis DataBase)和AOF(Append Only File)。下面针对这两种方式来介绍一下。由浅入深。一、持久化流程既然redis的数据可以保存在磁盘上,那么这个流程是什么样的呢?要有下面五个过程:(1)客户端向服务端发送写操作(数据在客户端的内存中)。(2)数据库服务端接收到写请求的数据(数据在服务端的内存中)。(3)服务端原创 2020-05-23 10:12:33 · 134 阅读 · 0 评论 -
Redis——五大数据类型实现原理
redis的五大数据类型实现原理1. 字符串(string)2. list(列表)3. hash(字典)4. set ( 集合对象 )5. Sorted set (有序集合对象)redis中所有数据结构都以唯一的key字符串作为名称,然后通过这个唯一的key来获取对应的value不同的数据类型数据结构差异就在于value的结构不一样1. 字符串(string)value的数据结构(数组)...原创 2020-05-04 10:39:08 · 190 阅读 · 0 评论 -
Redis——雪崩、击穿、穿透介绍
redis穿透什么是redis穿透?1、查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存2、这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义3、在流量大时,可能DB就挂掉了,要是有人利用不存在的key频繁攻击我们的应用,这就是漏洞。发生场景:对于系统A,假设一秒 5000 个请求,结果其中 4000 个请求是黑客发出的恶意攻击。黑客发出的那 4000 个攻击,缓存中查不到,每次你去数据库里查,也查不到。举个栗子。数原创 2020-05-23 09:43:14 · 132 阅读 · 0 评论 -
scentos7安装redis,以及redis的主从配置
redis主从复制原理一、复制过程1、从节点执行 slaveof 命令2、从节点只是保存了 slaveof 命令中主节点的信息,并没有立即发起复制3、从节点内部的定时任务发现有主节点的信息,开始使用 socket 连接主节点4、连接建立成功后,发送 ping 命令,希望得到 pong 命令响应,否则会进行重连5、如果主节点设置了权限,那么就需要进行权限验证;如果验证失败,复制终止。6、权限验证通过后,进行数据同步,这是耗时最长的操作,主节点将把所有的数据全部发送给从节点。7、当主节点把当前的原创 2020-05-23 09:28:04 · 154 阅读 · 0 评论 -
sentinel哨兵模式详细介绍
sentinel哨兵模式介绍Sentinel(哨兵)是用于监控redis集群中Master状态的工具,是Redis 的高可用性解决方案,sentinel哨兵模式已经被集成在redis2.4之后的版本中。sentinel是redis高可用的解决方案,sentinel系统可以监视一个或者多个redis master服务,以及这些master服务的所有从服务;当某个master服务下线时,自动将该master下的某个从服务升级为master服务替代已下线的master服务继续处理请求。sentinel可以让r原创 2020-05-23 09:21:42 · 6187 阅读 · 0 评论