yum install epel-release
yum install redis
systemctl start redis
ss -natl|grep 6379
vim /etc/redis.conf
redis-cli
info
set name shark
get name
setnx name lijasdija
0
设置值,只有name 不存在时,执行设置操作(添加)
set num 1000 EX 10
10秒过期
ttl num
(integer) -2 已经过期
ttl age
(integer) -1 永不过期
expire
设置一个 key 的过期时间(单位: 秒)
EXPIRE age 10
(integer) 1
ttl age
(integer) 7
persist key
移除 key 的过期时间
mset name xi age 18
mget name age
incr
对一个 key 的值自增 1
decr
对一个 key 的值自减 1
append name gua
添加字符
getrange name 0 8
"xiguatian"
del
删除 一个或者多个 key
EXISTS
判断一个 key 是否存在, 返回 1 表示存在, 0 表示不存在
type key
返回key存储的类型,如果不存在则返回none
图片.png
keys
通过通配符来获取匹配到的 key
一般不在生产环境中使用此命令
- 匹配所有
? 匹配任意一个
scan
dbsize
返回数据库种 key 的总数
lpush list a b c
向列表左端添加元素,values是按左到右依次插入的,返回值为列表中元素个数,列表元素可以重复
最后加入到元素,在列表的第一位
rpush list 1 2 3 4 5
向列表右端依次的添加元素,最后加入的元素在列表的最后位置
lrange list 0 7
0 -1 全部列出
列出列表元素
LINDEX
通过元素在列表中的位置获取到这个元素,位置称为索引号/下标,
位置支持正整数和负整数
列表中元素的位置中,第一位是 0,最后一位是列表总长度减 1 或者是 -1
LPUSHX
向列表左端添加元素,只有key存在时才可以添加
RPUSHX
向列表右端添加元素
LPOP
将左端列表元素弹出,会将其从列表中删除,如果key不存在则返回(nil)
RPOP
将右端列表元素弹出,其他同LPOP
LLEN
返回列表的长度,如果列表不存在则返回0
LREM
删除列表中指定的值,返回值为删除的元素的个数
HSET key field value
将哈希表key中的域 (field) 设置成指定的value,如果key不存在则新建一个hash表,如果域不存在则新建域,如果域已存在则更新域,如果field不存在返回1表示新建,存在则返回0表示更新
Set
Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。
Sort Set 操作
有序集合,在集合的基础上,为每元素排序;元素的排序需要根据另外一个值来进行比较,所以,对于有序集合,每一个元素有两个值,即:值和分数,分数专门用来做排序。
Redis 的认证连接
// 在配置文件中找到以下配置项,大约在第 500
行
shell> vi /etc/redis/6379.conf
requirepass mypassword
Redis 分别提供了 RDB 和 AOF 两种持久化机制:
RDB 将数据库的快照(snapshot)以二进制的方式保存到磁盘中。
vim /var/lib/redis/dump.rdb
什么情况下会触发 RDB
第一种情况,主动执行 save 命令(同步,阻塞 ,就是save 命令执行完毕后才能执行后续的其他命令操作)
保存 RDB 文件的策略
每次创建新的文件,并且替换原来旧文件(假如存在旧的文件)
第二种情况,主动执行 bgsave 命令 (异步,非阻塞 )
文件策略和 save 相同
第三种情况,自动触发
自动触发,就是通过对 Redis 的配置文件重相关选项的修改,当达到某个配置好的条件后,自动生成 RDB 文件
,其内部使用的是 bgsave 命令。
AOF 则以协议文本的方式,将所有对数据库进行过写入的命令(及其参数)记录到 AOF 文件,以此达到记录数据库状态的目的。
AOF 文件保存了 Redis 的数据库状态, 而文件里面包含的都是符合 Redis 通讯协议格式的命令文本。
图片.png
Redis 目前支持三种 AOF 保存模式,它们分别是:
AOF_FSYNC_NO :不保存。
AOF_FSYNC_EVERYSEC :每一秒钟保存一次。(生产中一般选这种)
AOF_FSYNC_ALWAYS :每执行一个命令保存一次
AOF的重写机制
AOF 文件通过同步 Redis 服务器所执行的命令, 从而实现了数据库状态的记录, 但是, 这种同步方式会造成一个问题: 随着运行时间的流逝, AOF 文件会变得越来越大。
对同一个键的状态的多次不同操作,而最终得到一个结果。比如对列表的添加删除元素。
被频繁操作的键。比如累加
网友评论