Redis小常识

原创
小哥 3年前 (2022-11-09) 阅读数 48 #大杂烩

Redis是啥

redis: Remote Dictionary Service远程词典服务

Redis为什么是港口6379?

此端口号也不 它是随机选择的,但通过手机键盘字母MERZ决定的位置。MERZ在 Antirez(Redis的作者)朋友圈的语言是“愚蠢”的代名词,起源于意大利。 广告女郎Alessia Merz我在电视节目上说过。 一堆蠢话.

Redis过期清理?

redis使用hashtable存储数据的过期时间,但是,它不会始终检测数据是否已过期。,清理过期数据主要分两个阶段完成,第一个是计时器。(serverCron)定期清理过期数据(每隔100毫秒),另一个阶段是当用户获得数据时执行。(get, hget)

Redis如何处理内存不足?

  1. 使用VM虚拟内存
    • 为什么操作系统实现了虚拟内存的功能,redis我们必须反复制造车轮。: 操作系统的虚拟内存是一个基于页面的概念。,linux中每页的大小4K, redis大多数物体都小得多,而且redis中的list,set可能有多个页面
  2. 使用内存过时
    • 随机淘汰
    • LRU淘汰算法: 删除最近访问次数最少的一个key
    • TTL淘汰算法: 删除最快过期的key

Redis命令冲突

  1. get与del命令冲突: 当客户变得更大key时(无法通过网络IO传输完毕), 此时,另一个客户端执行del删除此的命令key,可能导致内存段错误

解决方法: 使用参考计数器,当有客户或其他推荐人时,计数器加1,当引用失败时,减1.当计数器为零时删除此项。

Redis为什么只有一个线程

因为Redis是基于存储器的操作,CPU不是Redis的瓶颈,Redis瓶颈很可能是机器内存或网络带宽的大小。由于单线程易于实现,并且CPU这不会成为瓶颈,所以使用单线程解决方案是很自然的(毕竟,使用多线程可能会带来很多麻烦!)。

Redis主从同步原理。

  • slave服务器已连接到master,发送SYCN请求同步数据
  • master备份数据rdb文件,然后转移slave服务器
  • slave服务器首先清空数据库。,然后再把rdb文件数据导入
  • 之后master服务器的每次数据更新都会转发到slave,slave去执行

如何设置主从同步: slave新的服务器配置文件 slaveoff127.0.0.2 6379

版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除

上一篇:Redis——公平锁 下一篇:NIO详解及用(一)
热门