前言

Redis 是一种NoSQL(not-onlysql,泛指非关系型数据库)的数据库。由C 语言开发的一个开源的高性能键值对(key-value)的内存数据库,可以用作数据库、缓存、消息中间件等。官网地址:https://redis.io/ 中文官方地址:http://www.redis.cn/
支持的数据类型包括:
✓ String: 字符串
✓ Hash: 哈希
✓ List: 列表
✓ Set: 集合
✓ Sorted Set: 有序集合

优点

Redis 与其他key -value 缓存产品有以下几个优势:
• Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
• Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
• Redis支持数据的备份,即master-slave模式的数据备份。
• 高并发读写,Redis能读的速度是110000次/s,写的速度是81000次/s

Windows安装

Redis 支持32 位和64 位。这个需要根据你系统平台的实际情况选择。下载地址:https://github.com/tporadowski/redis/releases
配置好环境变量,切换到redis 目录下运行: redis-cli.exe -h 127.0.0.1 -p 6379

Linux安装

下载地址:http://redis.io/download,下载最新稳定版本。
◆ wget http://download.redis.io/releases/redis-6.0.6.tar.gz
◆ tar xzfredis-6.0.6.tar.gz
◆ cd redis-6.0.6
◆ makemake完后redis-6.0.6目录下会出现编译后的redis服务程序redis-server,还有用于测试的客户端程序redis-cli,两个程序位于安装目录src目录下。启动redis服务:
◆ cd src
◆ ./redis-server注意这种方式启动redis 使用的是默认配置。也可以通过启动参数告诉redis使用指定配置文件使用下面命令启动。
◆ cd src
◆ ./redis-server ../redis.conf

常用命令

一、redis启动

◆ 本地启动:redis-cli
◆ 远程启动:redis-cli -h host -p port -a password

二、清空Redis所有key

◆ flushdb # 清除当前数据库的所有keys
◆ flushall # 清除所有数据库的所有keys

三、查询匹配key

◆ keys * # 查看所有keys
◆ keys prefix_* # 查看前缀为"prefix_"的所有keys

四、key基本操作

◆ exists key # 确认一个key是否存在
◆ set key value # 设置key和value
◆ get key # 获取key的value
◆ del key # 删除一个key
◆ type key # 返回值的类型
◆ rename oldname newname # 重命名key
◆ dbsize # 返回当前数据库中key的数目

五、value的基本操作-String字符串

◆ appendkey value # 向尾部追加值,相当于append方法
◆ strlenkey # 获取字符串长度
◆ msetkey1 value1 [key2 value2 ...] # 同时设置多个key的值
◆ mgetkey1 [key2 ...] # 同时获取多个key的值

六、value的基本操作-List列表

◆ rpush key value # 在名称为key的list尾添加一个值为value的元素
◆ lpush key value # 在名称为key的list头添加一个值为value的元素
◆ lpop key # 返回并删除名称为key的list中的首元素
◆ rpop key # 返回并删除名称为key的list中的尾元素
◆ llen key # 返回名称为key的list的长度

七、value的基本操作-Set和Zset集合

◆ saddkey member1 member2# 无序集合添加成员
◆ smembers key # 返回名称为key的set的所有元素
◆ srandmember key # 随机返回名称为key的set的一个元素
◆ sinter key1 key2 ...key # 求交集
◆ sunion key1 keys # 求并集
◆ sdiff key1 keys # 求差集
◆ zaddkey score1 member1 socre2 member2 # 有序集合,添加成员,给每个value前添加一个score,最后根据score来进行排序
◆ zrangekey start_indexstop_index#遍历有序集合元素

八、value的基本操作-Hash哈希

◆ hsetkey field value #将哈希表key 中的字段field 的值设为value
◆ hgetkey field #获取给定字段的值
◆ hmsetkey field1 value1 [field2 values] # 一次赋值多个字段
◆ hmgetkey field1 [field2] # 一次取多个字段的值
◆ hexistskey field # 判断字段是否存在
◆ hkeyskey # 获取所有字段名
◆ hlenkey # 获取字段数量
◆ hgetallkey # 获取所有字段的值
◆ hvalskey # 获取所有字段值
◆ hdelkey field # 删除字段

九、设置key的生存时间

◆ expire key seconds #设置key的有效时间单位为秒
◆ ttl key #获取key的剩余有效时间,持久key返回-1,key不存在返回-2,具体时间返回秒数

十、Redis安全认证

◆ configget requirepass # 查看是否设置了密码验证,默认情况下requirepass 参数为空
◆ configset requirepass "test" # 设置密码
◆ authpassword # 验证密码是否正确

备份和恢复

Redis SAVE 命令用于创建当前数据库的备份。

1、数据备份

  • redis Save 命令基本语法如下:redis 127.0.0.1:6379> SAVE该命令将在redis 安装目录中创建dump.rdb文件。
  • Bgsave创建redis备份文件也可以使用命令BGSAVE,该命令在后台执行。127.0.0.1:6379> BGSAVE

2、恢复数据

如果需要恢复数据,只需将备份文件(dump.rdb) 移动到redis安装目录并启动服务即可。获取redis目录可以使用CONFIG GET dir