介绍:
- redis AOF持久化文件检测和修复文件 #redis-check-aof文件
- redis RDB持久化文件检测和修复文件 #redis-check-dump文件
- 启动redis哨兵 #redis-sentinel文件
- redis是单线程
- redis是一个内存数据库,在宕机或者挂机时重启会使数据丢失
一、基本命令
1)#查看所有的键
keys *
2)#键总数
dbsize
3)#检查键是否存在
exists key
4)#删除键
del key
5)#键过期
expire key seconds
ttl命令会返回键的剩余过期时间, 它有3种返回值:
大于等于0的整数: 键剩余的过期时间。
-1: 键没设置过期时间。
-2: 键不存在
6)#键类型
type key
二、String类型命令
1)#设置值
SET key value [EX seconds] [PX milliseconds] [NX|XX]
ex seconds: 为键设置秒级过期时间。
px milliseconds: 为键设置毫秒级过期时间。
nx: 键必须不存在, 才可以设置成功, 用于添加。
xx: 与nx相反, 键必须存在, 才可以设置成功, 用于更新。
#简化set操作,设置值并设置过期时间
setex key seconds value
拓展:基于set命令设置的复杂性,redis提供了setxx 和 setnx 两个命令用户简化操作
setxx 和 setnx 在实际中有什么应用场景吗?
以setnx 命令为例子,由于redis的单线程处理机制,如果有多个客户端同时执行setnx key value ,根据setnx 的特性只有一个客户端能设置成功,setnx 可以作为分布式锁的一种实现方案,redis官方给出了使用setnx实现分布式锁的方法。
setnx 设置值,只有key不存在的时候才设置成功
2)#获取键值
get key
3)#批量设置键
mset key1 value1 key2 value2 ...
4)#批量获取键
mget key1 key2 ...
5)#计数
incr key
incr命令用于对值做自增操作, 返回结果分为三种情况:
值不是整数, 返回错误。
值是整数, 返回自增后的结果。
键不存在, 按照值为0自增, 返回结果为1。
除了incr命令, Redis提供了decr(自减) 、 incrby(自增指定数字) 、decrby(自减指定数字) 、 incrbyfloat(自增浮点数)
其他不常用命令
6)#向尾部追加值
APPEND命令,向键值的末尾追加value。如果键不存在则将该键的值设置为value,即相当于 SET key value。返回值是追加后字符串的总长度。
append key value
7)#获取字符串长度
strlen key
三、Hash类型
1)#设置值
HSET key field value
例如:
HSET USER NAME XIAOCILAO
2)#取值
HGET key field
例子:
HGET USER NAME
3)#删除Field
HDEL key field
例子:
HDEL USER NAME
4)#计算Field个数
HLEN key
例子:
HLEN USER
5)#批量获取值
HMGET key field
例子:
HMGET user name age phone
6)#批量设置值
HMSET key field1 value1 field2 value2
例子:
HMSET user1 name lisi age 28 phone 12345
7)#判断field是否存在
HEXISTS key field
例子:
HEXISTS user name