redis
文章平均质量分 91
MG-net
这个作者很懒,什么都没留下…
展开
-
Redis之epoll和IO多用复用
一、redsi的IO多路复用redis利用epoll来实现IO多路复用,将连接信息和事件放入队列中,一次放到文件事件分派器,事件分派器将事件分发给事件处理器。IO多路复用,使用的是linux内核函数,它的使用有三种select、poll、epoll,redis使用的就是epoll进行实现。在redis中,多个客户端同时进行连接,redis使用epoll,把各个客户端的事件放到队列中,然后又事件派发器找到对应的工作单元。IO多路复用解决就是防止一个读写导致整个进程的阻塞。Redis服务采用原创 2022-02-13 14:38:12 · 1978 阅读 · 0 评论 -
缓存\DB数据一致性
数据库、缓存数据一致性的问题一直是生产中一直存在的,有一些程序直接忽略这个问题,有些自己编写程序去处理。但是还是存在一下问题:先更新数据库,更新缓存 先删除缓存,在更新数据库 先更新数据库,在删除缓存一、中间件Canal其实在工作中不论遇到什么问题,尽量要想到是否有成熟的中间件可以处理,这要比自己造轮子强很多,毕竟经过大部分人验证没问题的中间件是很香的。1、canal介绍canal是阿里开发并开源的用于Mysql增量日志数据的订阅、消费和解析的。是要原理是模拟一个Mysql的备机去监听原创 2022-02-09 20:18:03 · 1134 阅读 · 0 评论 -
Redis6-过期淘汰、经典数据类型的实现
一、redis的缓存过期淘汰策略redis配置文件中有一个maxmemory,配置内存大小。默认是64位无限制,32位最大3GB。官网推荐配置是物理内存的四分之三。查看redis内存使用情况,info memory:1、如果超过了最大内存怎么办当超过最大内存之后,设置的时候,会提示OOM,所以会出现内存淘汰策略(LRU)redis的key当过期了之后,不一定会立刻删除,需要根据不同清情况分析。redis的内存删除方式:立刻删除:能够保证数据新鲜、内存空间释放,但是性.原创 2022-02-07 21:46:20 · 1405 阅读 · 0 评论 -
Redis6-雪崩、击穿、穿透、分布式锁
一、布隆过滤器上亿级别数据,怎么判断是否存在。数据集合已经存在了,判断某个元素是否存在。为了解决这个问题,布隆过滤器诞生了。它是一个很长的二机制数组(bitmap)和一些列的随机hash算法映射函数,主要判断一个集合是否在元素中存在。统计结果不算准确。特点:高效的插入和查询,占用空间小,返回结果是不确定的 一个元素如果判断结果为存在的时候元素不一定存在(hash冲突),但是判断其不存在则一定不存在 可以添加元素,但是不能删除元素,因为删除元素会导致错误率增加 误判只会发生在没有添加过的原创 2022-02-06 11:17:32 · 8905 阅读 · 6 评论 -
Redis6-基本使用
一、官网查阅和基本配置1、redis官网Redis。官网2、命令大全Redis 命令参考 — Redis 命令参考3、redis6的版本需要使用大于6.0.8,redis-server -v二、redis的单线程和多线程1、redis为什么选择单线程redis各个版本之间架构都不同,所以这个问题需要从不同版本去描述3.x,单纯的单线程 数据结构简单 避免锁和线程切换的开销 基于内存 多路复用和非阻塞IO:redis使用IO多路复用功能来监听多个soc原创 2022-02-04 13:12:14 · 1441 阅读 · 0 评论 -
Redis集群搭建
一、注意点每个节点必须开启 2个TCP端口 redis的服务器端口 redis集群之间的集群端口,默认使用10000+redis的服务端口,例如服务端口是6379,集群端口使用的就是16379,也可以手动修改 版本显示 版本>=5.x,直接使用./redis-cli --cluster create 指令构建redis集群 版本<5.x,需要安装ruby、rubygems环境,使用 ./redis-trib.rb create 指令构建redis集群 集群环境,需要6原创 2022-01-11 17:04:47 · 1693 阅读 · 0 评论