[mall@mall software]$ tar -zxvf redis-6.2.1.tar.gz -C /opt/module/
redis是用c写的,因此安装redis需要c语言的编译环境,即需要安装gcc
[mall@mall module]$ gcc -v
[mall@mall ~]$ cd /opt/module/redis-6.2.1/
[mall@mall redis-6.2.1]$ make
[mall@mall redis-6.2.1]$ make PREFIX=/home/mall/redis install
[mall@mall redis]$ cp /opt/module/redis-6.2.1/redis.conf ./
[mall@mall redis]$ vim redis.conf
内容:
# 允许公网访问redis
# 方式一:让Redis运行在protected-mode为no的模式
# protected-mode no
# 方式二:如果protected-mode为yes,设置bind
bind 0.0.0.0
# 方式三:如果protected-mode为yes,亦可通过设置密码的形式
# requirepass 123456
# 持久化文件保存位置
# dir ./
# 配置后台启动Redis
daemonize yes
# redis占用最大内存
maxmemory 100M
[mall@mall redis]$ ./bin/redis-server redis.conf
[mall@mall redis]$ ./bin/redis-cli
127.0.0.1:6379> shutdown
key:string
value:string、list、set、zset、hash
设置key的过期时间:expire <key> <second>
# 添加键值对
127.0.0.1:6379> set test:key001 aa
# 获取键的值
127.0.0.1:6379> get test:key001
# 将给定的<value>追加到原值的末尾
127.0.0.1:6379> APPEND test:key001 bb
有序可重复
# 从左边插入一个或多个值
127.0.0.1:6379> LPUSH test:list:key001 aa bb
# 从右边插入一个或多个值
127.0.0.1:6379> RPUSH test:list:key001 cc dd ee
# 按照索引下标范围获取元素(从左到右)
127.0.0.1:6379> LRANGE test:list:key001 0 -1
# 从左边删除<两>个值(值在键在,值光键亡)
127.0.0.1:6379> LPOP test:list:key001 2
无序不重复
# 将一个或者多个member元素加入到集合中,已经存在的member将被忽略
127.0.0.1:6379> SADD test:set:key001 aa bb cc cc dd ee bb
# 取出集合的所有值
127.0.0.1:6379> SMEMBERS test:set:key001
# 判断集合<key>是否包含指定的member,包含返回1,不包含返回0
127.0.0.1:6379> SISMEMBER test:set:key001 aa
# 返回集合的元素个数
127.0.0.1:6379> SCARD test:set:key001
有序不重复,就是在set的基础上,给每个元素绑定了一个分数,按照分数由低到高排序
# 往集合中添加指定的 member 及score
127.0.0.1:6379> ZADD test:zset:key001 10 aa 20 bb 30 cc 40 dd
# 从集合中取出指定下标范围的数据,正序取
127.0.0.1:6379> ZRANGE test:zset:key001 0 -1 WITHSCORES
# 从集合中取出指定下标范围的数据,倒序取
127.0.0.1:6379> ZREVRANGE test:zset:key001 0 -1 WITHSCORES
# 给集合中添加指定的 <field> - <value>
127.0.0.1:6379> HSET test:hash:key001 name zs age 23
# 取出集合中指定field的value
127.0.0.1:6379> HGET test:hash:key001 name
RDB为快照备份,会在备份时将内存中的所有数据持久化到磁盘的一个文件中。
# save 3600 1(3600秒做了1次操作)
# save 300 100(300秒做了100次操作)
# save 60 10000(60秒做了10000次操作)
AOF为日志备份,会将所有写操作命令记录在一个日志文件中。
默认不开启AOF(修改完配置文件后需要重启redis)
需要通过命令行进行开启,因为aof的备份恢复优先级高于rdb,修改配置文件需要重启redis,重启后的aof文件是空的,备份恢复时redis中就是空的,所以需要在重启redis前准备好aof文件。
127.0.0.1:6379> CONFIG SET appendonly yes
[mall@mall redis]$ vim redis.conf
内容:
appendonly yes
aof策略:
always:每次写入操作均同步到AOF文件中,数据零误差,性能较低,一般不建议使用
everysec:每秒将缓冲区中的指令同步到AOF文件中,数据准确性高,性能较高,再系统突然当即的情况下最多丢失1秒内的数据,一般建议使用,同时也是默认配置
no:由操作系统每次同步到AOF文件的周期,整体过程不可控
# 手动重写aof文件
127.0.0.1:6379> bgrewriteaof