大数据基础设施搭建 - Redis

发布时间:2024年01月22日

一、上传压缩包

二、解压压缩包

[mall@mall software]$ tar -zxvf redis-6.2.1.tar.gz -C /opt/module/

三、查看gcc是否安装

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

七、启动redis服务

[mall@mall redis]$ ./bin/redis-server redis.conf

八、启动redis客户端

[mall@mall redis]$ ./bin/redis-cli

九、关闭redis服务

127.0.0.1:6379> shutdown

十、五大数据类型

key:string
value:string、list、set、zset、hash

设置key的过期时间:expire <key> <second>

10.1 string

# 添加键值对
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

10.2 list

有序可重复

# 从左边插入一个或多个值
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

10.3 set

无序不重复

# 将一个或者多个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

10.4 zset

有序不重复,就是在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

10.5 hash

# 给集合中添加指定的 <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

十一、Jedis

十二、持久化

12.1 RDB

RDB为快照备份,会在备份时将内存中的所有数据持久化到磁盘的一个文件中。

默认备份策略

# save 3600 1(3600秒做了1次操作)
# save 300 100(300秒做了100次操作)
# save 60 10000(60秒做了10000次操作)

12.2 AOF

AOF为日志备份,会将所有写操作命令记录在一个日志文件中。

开启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重写机制

# 手动重写aof文件
127.0.0.1:6379> bgrewriteaof
文章来源:https://blog.csdn.net/m0_46218511/article/details/135748809
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。