当前位置: 首页 > news >正文

江苏省城乡建设网站玉溪做网站的公司

江苏省城乡建设网站,玉溪做网站的公司,网站建设运营成本,网站备案能不能出现世界文章目录 Redis笔记通用命令get和setkeysexistsdelexpirettlRedis的key过期策略定时器的实现原理type 持久化RDB(Redis DataBase)---定期备份bgsave AOF(Append Only File)---实时备份 Redis笔记 Redis是一个“客户端-服务器”结构的程序,客户端和服务器之间通过网…

文章目录

  • Redis笔记
    • 通用命令
      • get和set
      • keys
      • exists
      • del
      • expire
      • ttl
      • Redis的key过期策略
      • 定时器的实现原理
      • type
    • 持久化
      • RDB(Redis DataBase)---定期备份
        • bgsave
      • AOF(Append Only File)---实时备份

Redis笔记

Redis是一个“客户端-服务器”结构的程序,客户端和服务器之间通过网络来进行通信

通用命令

官方文档

get和set

127.0.0.1:6379> set key1 value1
OK
127.0.0.1:6379> set key2 value2
OK
127.0.0.1:6379> get key1
"value1"
127.0.0.1:6379> get key2
"value2"
127.0.0.1:6379> get key3
(nil)

keys

  • ?:匹配任意一个字符
  • *:匹配0个或多个任意字符
  • [abcde]:只能匹配到abcde中的一个,别的就不行,相当于给出了固定的选项
  • [^e]:排除e,只有e匹配不了,其它的都能匹配
  • [a-e]:表示可以匹配a到e闭区间的一个字符
127.0.0.1:6379> set hello 1
OK
127.0.0.1:6379> set hallo 1
OK
127.0.0.1:6379> set hbllo 1
OK
127.0.0.1:6379> set hllo 1
OK
127.0.0.1:6379> set heeeeeeeeeeello 1
OK
127.0.0.1:6379> set heeeeeeeeello 1
OK
127.0.0.1:6379> keys h?llo
1) "hello"
2) "hbllo"
3) "hallo"
127.0.0.1:6379> keys h*llo
1) "hello"
2) "hbllo"
3) "heeeeeeeeeeello"
4) "hallo"
5) "heeeeeeeeello"
6) "hllo"
127.0.0.1:6379> keys h[abe]llo
1) "hello"
2) "hbllo"
3) "hallo"
127.0.0.1:6379> keys h[^e]llo
1) "hbllo"
2) "hallo"
127.0.0.1:6379> keys h[a-e]llo
1) "hello"
2) "hbllo"
3) "hallo"

时间复杂度是O(n),所以在生产环境上,一般会禁止使用keys命令,尤其是keys *

exists

判断key是否存在,时间复杂度O(1)

127.0.0.1:6379> exists hello
(integer) 1
127.0.0.1:6379> exists key1
(integer) 1
127.0.0.1:6379> exists hello key1
(integer) 2

不能将前两个操作等价于第三个操作,我们知道redis是一个客户端-服务器结构的程序,在一次命令的执行就需要客户端向服务器发送一次请求,这个请求是通过网络进行通信的,网络的IO通信速度正常来说要比磁盘IO都要慢的,所以前两次的请求和第三次的请求所消耗的时间是不一样的

del

删除指定key,返回值是删掉的key个数

127.0.0.1:6379> del key2 key3
(integer) 1

expire

给指定的key设置过期时间

  • expire key second
  • pexpire key 毫秒

返回1表示设置成功。返回0表示设置失败

ttl

获取指定key的过期时间,返回秒,-1表示未设定过期时间,-2表示不存在key

Redis的key过期策略

1、定期删除:每隔一段时间检测Redis中是否有过期的key,并删除。每次抽取一部分验证过期时间,以免阻塞

2、惰性删除:在查询的时候某些key可能没有被删除,但是在查询前会先检查key是否过期,如果过期了就删除key并返回nil

通常是两种结合的方式

定时器的实现原理

  • 优先队列:过期时间越早的,优先级越高—但Redis没有采用
  • 基于时间轮实现:把时间轮划分成很多小段

Redis过期策略并没有采用以上两种方案

type

返回key对应的value

持久化

为了保证速度快,Redis决定内存中存数据,硬盘上也存数据,理论上两份数据是完全相同的。硬盘的数据只是在Redis重启的时候用来恢复内存的

RDB(Redis DataBase)—定期备份

二进制格式记录

触发时机:

1、手动触发:程序员通过redis客户端执行命令触发快照。save和bgsave,一般不用save

2、自动触发:在redis配置文件中配置

在redis重启之后会加载

bgsave

实现原理:多进程实现并发,达到在背后偷偷备份不影响客户端的请求的效果。fork在进行内存拷贝的时候并不是无脑把所有数据拷贝一份,如果父子进程的数据都完全一样,直接共用一份数据。只有当某一方内存数据做了修改才会真正意义上触发数据拷贝。称为写时拷贝

AOF(Append Only File)—实时备份

文本格式记录

AOF并不会影响到Redis的请求速度:

1、AOF机制并非是直接让工作线程把数据写入硬盘,而是先写入缓冲区,积累一波之后才统一写入硬盘,写入硬盘的次数比一次写入硬盘的大小影响更大,就好比嗑瓜子仍瓜子

2、AOF是顺序存储的,硬盘上顺序读写数据要比随机读写快的

触发时机:

1、手动触发:

2、自动触发:

http://www.dtcms.com/a/454172.html

相关文章:

  • 专业柳州网站建设多少钱中卫网站推广营销
  • 付网站首期合同款怎么做分录彩票网站wordpress模板
  • 数据合规不是法律选择题:当数据边界成为商业战场
  • 网站设计企网站集约化建设的目的
  • 手机网站的文本排版是怎么做的如何写一个wordpress主题
  • OKZOO亮相TOKEN2049,展示AIoT网络生态新蓝图HealthFi
  • 淮安集团网站建设济南 域名注册 网站建设
  • B012基于博途西门子1200PLC温室大棚控制系统仿真
  • 机房网站建设方案个人资讯网站建设
  • 邯郸北京网站建设WordPress滑动验证码插件
  • 做网站要服务器和什么wordpress 点赞分享
  • 网站建设要学哪些软件有哪些内容网站开发用台式机电脑配置
  • C++----哈希以及unorder map与set的封装
  • 网站开发框架具体使用方法wordpress创建分类目录
  • 百度网站收录删除网站推广的公司
  • flash 的网站西安制作网站
  • 快速入门SpringAI-SpringAI Alibaba实战
  • window显示驱动开发-验证从用户模式发送到内核模式的专用数据
  • 网站建设 中企动力南昌0792在线购物网站 模版
  • 凡科网站设计模板品牌网站分析
  • 【Spring 2】深入剖析 Spring 的 Singleton 作用域:不仅仅是单例
  • 【密码学实战】openHiTLS kdf命令行:密钥派生工具
  • 手机网站微信网站开发南京米雅途做网站如何
  • AQS(抽象队列同步器)
  • 【深度学习计算机视觉】10:转置卷积——从图像上采样到特征图还原的核心技术
  • 做坑人网站二维码全网热度指数
  • 购物网站设计的目的新绛网站建设
  • ERT中正问题和逆问题的传统数学推导
  • 模电基础:电流源电路
  • 58同城济南网站建设网站建设公司人员配置