Linux

非关系型KV数据库

Redis

  1. 持久化方式
    1. RDB(dump.rdb)
      • redis-check-rdb --fix dump.rdb(修复rdb文件)
    2. AOF(appendonly.aof,记录的是输入过的命令,当下次启动redis的时候会再执行一次AOF文件里的命令)
      • redis-check-aof --fix appendonly.aof(修复aof文件)
  2. KV数据库
    • 内存(高速缓存,用户经常访问的数据直接从内存中获取)
    • 单线程
    • 异步I/O
  3. 应用场景
    • 计算密集型
    • I/O密集型
  4. 默认配置启动时
    • 有16个数据库,默认优先进入0号数据库
  5. 数据类型
    • 字符串
    • 哈希表
    • 列表
    • 无序集合
    • 有序集合
  6. redis.conf
    • 配置文件

命令

控制Redis行为的指令

命令注释
redis-server使用默认配置启动redis(&:切换到后台运行,--port:指定端口,--requirepass:设置口令,配置文件URL:指定配置文件,--appendonly yes:以AOF持久化的方式启动)
auth 口令验证口令
set 键 值放键值对
set 键 值 ex 超时时间当超时后放置的键值对数据会被清除(单位:秒)
get 键取值
ttl 键显示指定键的存活时间(单位:秒)
redis benchmark测试redis性能
save手动保存
bgsave后台保存
keys *查看当前数据库的全部键值对数据
type 键查看指定键值的数据类型
select 数据库序号切换指定数据库
flushdb清除当前数据库的全部数据
flushall清除全部数据库的全部数据
randomkey随机返回一个当前数据库的键
dbsize返回当前数据库的键值对数量
append 键 值追加指定键值
getrange 键 开始下标 结束下标返回指定键的指定下标范围值
mset一次性放多个键值对
mget一次性查看多个键值对
hset 键 内嵌键 内嵌值放哈希表型键值对
hmset 键 内嵌键01 内嵌值02一次放多个哈希表型键值对
hget 键 内嵌键查看内嵌键值
hmget 键 内嵌键01 内嵌键02一次性查看多个内嵌键值
hvals 键查看所有内嵌键值
hgetall 键查看所有内嵌键值对
hdel 键 内嵌键删除内嵌键值对
hkeys 键查看所有内嵌键
lpush 列表名 元素01 元素02从反向放列表型键值对
rpush 列表名 元素01 元素02正向放列表型键值对
lrange 列表名 开始下标 结束下标查看指定范围下标的元素
lpop 列表名正向查看一个列表下标元素
rpop 列表名方向查看一个列表下标元素
sadd 集合名 元素01 元素02放集合型键值对
smembers 集合名查看集合的所有下标元素
scard 集合名查看集合元素数量
sismember 集合名 元素判断指定元素是否在集合里面
sinter 集合名01 集合名02求集合的交集
sunion 集合名01 集合名02求集合的并集
sdiff 集合名01 集合名02求集合的差集
spop 集合名 元素数量随机查看并删除指定数量的集合元素
zadd 有序集合名 值01 元素01 值02 元素02放有序集合键值对(根据值的大小进行升序排序)
zrange 有序集合名 下标开始 下标结束查看指定范围的有序集合下标元素(升序)
zrevrange 有序集合名 下标开始 下标结束查看指定范围的有序集合下标元素(降序)
zincrby 有序集合名 增加的值 元素给指定元素增加指定值
geoadd 键 经度01 纬度01 地名01 经度02 纬度02 地名02 (integer) 组数量放地理位置型键值对(有序集合)
geodist 键 地名01 地名02 距离单位计算地名之间的距离(默认:米)
georadius 键 经度 纬度 半径值 距离单位查看以经度纬度交叉的点为中心半径之内的地名
georadius 键 经度 纬度 半径值 距离单位 withdist查看以经度纬度交叉的点为中心半径之内的地名与距离
slaveof ip地址 端口受控于指定主机(只读,主机写入的数据会同步复制到受控主机,可在启动时配置)
masterauth 口令验证口令
info replication查看受控信息
slaveof on one取消受控于所有主机