Redis操作_西安广西快三网上平台,专业SEO公司
首页>>技术前沿>>广西快三网上平台及SEO
Redis操作
作者:西安软件开发公司 | 转载 来源:西安软件开发公司 | 时间:2018年7月13日| 点击:0次 | 【评论】

- Redis服务器的所有数据库都保存在服务器状态redis.h/redisServer结构的db数据中。
- 切换数据库
Redis切换数据库用select语句。
目前redis没有可以返回客户端目标数据库的命令,谨慎使用。
3.数据库键空间操作
添加 set date “2016.01.02”
删除 del date
更新 set date “2016.02.03”
4.使用Redis命令时,服务器还会执行一些额外的维护操作。
- 读取一个键后,服务器会根据键是否存在来更新服务器的键空间命中(hit)次数或不命中次数(miss)次数,这两个值可以在INFO stats命令的keyspace_hits和keyspace_miss中查看
- 读取一个键后,服务器会更新键LRU(最后一次使用)时间,这个值可以计算键的空闲时间,使用OBJECT idletime 来查看键的空闲时间
- 如果服务器在读取一个键时发现键已经过期,服务器会先删除这个过期键,然后执行其他操作。
- 如果客户端使用watch命令来监视某个键,那么服务器在对被监视的键进行修改之后,会将这个键标记为脏(dirty),让事物程序注意到这个键被修改了。
- 服务器每次修改键,会对脏键计数加1,这个计数器会触发服务器的持久化以及复制操作。
- 如果服务器开启了数据库通知功能,在对键修改之后,服务器将按配置发送相对应的数据库通知。
5.设置键的过期时间


通过expire命令或者pexpire命令
set key value
这里写图片描述
这里写图片描述
6.过期键删除策略
这里写图片描述

定时删除
这里写图片描述

惰性删除
这里写图片描述
redis命令在执行前会通过调用expireIfNeeded函数对输入键进行检查,如果过期expireIfNeeded函数会将键删除,如果没过期不做动作。
当键存在按键存在的情况执行,不存在则按照键不存在情况执行。

定期删除
这里写图片描述
函数每次运行,会从一定量的数据库中抽取一定数量的随机键进行检查,并删除其中的过期键。
全局变量current_db记录当前activeExprieCycle函数检查的进度。当检查完所有数据库会将current_db重置为0,重新一轮检查。
7.AOF、RDB和复制功能对过期键的处理

 

执行Save命令或者BGSAVE命令创建新的RDB持久化文件,程序会对数据库会中的键进行检查,过期的键不保存到RDB文件中。

载入RDB文件
1.如果服务器以主服务器模式运行,载入RDB文件时候,会忽略掉过期键。
2.以从服务器运行,文件保存所有键,但是主从服务器进行数据同步的时候,从服务器的数据库会被清空,所有过期键对载入的RDB文件的从服务器也不会有影响。
AOF文件写入
服务器已AOF持久化运行,也不会有过期键的影响。
重写也不会有过期键的影响。

复制

这里写图片描述
8.数据库通知

可以让客户端通过订阅给定的频道或者模式。

此内容DOC下载 此内容PDF下载

【全文完】
关键词标签: Redis 
0 ([$-顶稿人数-$])
0 ([$-踩稿人数-$])

版权声明:

1、西安弈聪网站内容中凡注明“来源:XXX(非西安弈聪网站)”的作品,转载自其它媒体,转载目的在于传递更多信息,其中涉及的网站建设,广西快三网上平台,百度关键词优化,西安软件开发等技术细节并不代表本站赞同支持其观点,并不对其真实性负责。对于署名“西安弈聪”的作品系本站版权所有,任何人转载请署名来源,否则西安弈聪将追究其相关法律责任。

2、本站内容中未声明为“原创”的内容可能源自其它网站,但并不代表本站支持其观点,对此带来的法律纠纷及其它责任与我方无关。如果此内容侵犯了您的权益,请联系我方进行删除。