Redis安装及常用配置文件示例



前言

在生产环境中,许多Web应用都将数据保存到 RDBMS中,应用服务器从中读取数据并在浏览器中显示。 但随着数据量的增大、访问的集中,就会出现RDBMS的负担加重、数据库响应恶化、 网站显示延迟等重大影响。Redis是高性能的分布式内存缓存服务器,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web等应用的速度、 提高可扩展性。


提示:以下是本篇文章正文内容,下面案例可供参考

一、redis介绍

1、什么是redis?

redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库,即NoSQL。

2、redis的特点

1、支持丰富的数据结构(string、list、hash、set(无序集合)、zset)

2、支持持久化(AOF、RDB)

3、支持事务(事务是指“一个完整的动作,要么全部执行,要么什么也没有做”。)

4、支持主从、高可用、哨兵

5、多种内存分配及回收策略

6、支持事物,锁

二、redis安装

源码编译安装

1.下载安装包

代码如下(示例):

[root@db01 ~]# wget  http://download.redis.io/releases/redis-5.0.9.tar.gz

2.安装编译依赖

[root@db01 ~]# yum install -y gcc gcc-c++

3.解压并编译安装

[root@db01 ~]# tar xf redis-5.0.9.tar.gz
[root@db01 ~]# mv redis-5.0.9 /export/server/
[root@db01 ~]# mv /export/server/redis-5.0.9 /export/server/redis

[root@db01 ~]# cd /export/server/redis/
[root@db01 redis]# make

4.设置环境变量

[root@db01 redis]# vim /etc/profile
export REDIS_HOME=/export/server/redis
export PATH=$PATH:$REDIS_HOME/bin

[root@db01 redis]# source /etc/profile

5.验证

[root@db01 redis]# redis-server -v
Redis server v=5.0.9 sha=00000000:0 malloc=jemalloc-5.1.0 bits=64 build=efe084a04347e326

三、redis配置文件

默认配置文件路径

配置如下(示例):

[root@db01 redis]# vim /export/server/redis/redis.conf

大体上redis配置文件如下所示

配置项说明
daemonizeyes 表示 Redis 以守护进程方式启动,即后台运行。
pidfile指定存储 Redis 进程 PID 的文件路径。默认为 /var/run/redis.pid
portRedis 服务的监听端口,默认是 6379,当前被注释掉,不启用。
tcp-backlog设置系统调用的待处理连接队列的长度,默认是 511。
timeout客户端连接的超时时间(秒),超过此时间未响应的客户端连接将被关闭。
tcp-keepalive设置 TCP 连接的 keepalive 间隔时间(秒),用于探测空闲连接。
loglevel设置日志级别,notice 是日志级别之一,表示日志信息。其他级别包括 debugverbosewarning 等。
logfile指定日志文件的路径,空字符串表示不输出日志文件。
databasesRedis 的数据库数量,默认为 16 个数据库。
save用于设置 RDB 快照持久化的条件。save 900 1 表示 900 秒内至少有 1 个键发生变化时进行保存。
stop-writes-on-bgsave-error设置为 yes 时,若后台保存 RDB 文件出现错误,Redis 将停止写操作。
rdbcompression设置为 yes 时,RDB 文件会进行压缩,减少磁盘占用。
rdbchecksum设置为 yes 时,在 RDB 文件中存储校验和,用于验证文件的完整性。
dbfilename设置 RDB 文件的文件名,默认为 dump.rdb
dir设置 Redis 数据库文件的保存目录,默认为当前目录,配置为 "/export/server/redis/data"
slave-serve-stale-data设置为 yes 时,Redis 从节点在主节点不可用时仍然提供过期数据。
slave-read-only设置为 yes 时,从节点只读,不能写入。
repl-diskless-sync设置为 no 时,禁用磁盘无同步操作,采用标准的磁盘同步。
repl-diskless-sync-delay设置磁盘无同步延迟时间,单位为秒。
repl-disable-tcp-nodelay设置为 no 时,从节点的 TCP 连接将启用 TCP_NODELAY,以减少延迟。
slave-priority从节点的优先级,默认 100,数值越小优先级越高,值为 0 表示从节点不会成为新的主节点。
appendonly设置为 no 时,禁用 AOF 持久化模式。
appendfilename设置 AOF 文件的名称,默认为 appendonly.aof
appendfsync设置 AOF 文件的同步频率,everysec 表示每秒同步一次。
no-appendfsync-on-rewrite设置为 no 时,AOF 文件在重写期间会被同步,保证数据一致性。
auto-aof-rewrite-percentage设置 AOF 重写的触发条件,当 AOF 文件大小比上次重写时的大小增长超过该百分比时,进行 AOF 重写。
auto-aof-rewrite-min-size设置 AOF 文件重写的最小文件大小,默认为 64MB。
aof-load-truncated设置为 yes 时,AOF 文件的截断部分将被忽略,避免出现数据不一致的情况。
lua-time-limit设置 Lua 脚本执行的最大时间,超过此时间会终止脚本。单位为毫秒。
slowlog-log-slower-than设置记录慢查询的阈值,单位是微秒(10毫秒)。
slowlog-max-len设置慢查询日志的最大长度,超过此长度的记录将被删除。
latency-monitor-threshold设置延迟监控的阈值,单位是毫秒。若 Redis 处理的操作超过此阈值,则会记录延迟。
notify-keyspace-events用于设置 Redis 发布键空间事件通知的选项,通常为空表示不启用。
hash-max-ziplist-entries设置哈希表最大条目数,超过该条目数将使用哈希表的其他存储结构(如哈希表)。
hash-max-ziplist-value设置哈希表中每个元素的最大字节数,超过该字节数会采用其他存储结构。
list-max-ziplist-entries设置列表最大条目数,超过该条目数会使用不同的存储方式。
list-max-ziplist-value设置列表每个元素的最大字节数,超过该字节数会采用不同的存储方式。
set-max-intset-entries设置集合最大整数元素数,超过该条目数时将转换为其他类型(如哈希表)。
zset-max-ziplist-entries设置有序集合最大条目数,超过该条目数会使用其他存储方式。
zset-max-ziplist-value设置有序集合中每个元素的最大字节数,超过该字节数会使用其他存储方式。
hll-sparse-max-bytes设置 HyperLogLog 的最大字节数,当数据超过此值时会转为其他存储方式。
activerehashing设置为 yes 时,Redis 会根据需要动态重新哈希大集合或哈希表,以保持性能。
client-output-buffer-limit normal设置普通客户端的输出缓冲区限制,限制为 0 表示没有限制。
client-output-buffer-limit slave设置从节点的客户端输出缓冲区限制。
client-output-buffer-limit pubsub设置订阅发布模式的客户端输出缓冲区限制。
hzRedis 的操作频率,默认为 10 次/秒。
aof-rewrite-incremental-fsync设置为 yes 时,AOF 文件重写期间会增量同步,减少同步负担。
protected-mode设置为 no 时,禁用保护模式。默认情况下,Redis 在公开网络上默认启用保护模式。
cluster-enabled设置为 yes 启用 Redis 集群模式。如果禁用集群,Redis 将以单实例模式运行。
cluster-config-file指定集群配置文件的路径,通常用于存储集群节点的信息。此文件会在节点启动时生成,默认是 nodes.conf
cluster-node-timeout设置集群节点的超时时间(毫秒),即当一个节点没有回应时,其他节点等待的时间。默认值是 15000 毫秒(15 秒)。
masterauth设置主节点认证密码。每个节点都可以使用该密码进行身份验证,确保主节点的访问安全。
requirepass设置客户端连接 Redis 实例时需要的密码。即客户端在连接时必须提供此密码才能访问 Redis。
maxmemory设置redis最大内存

四、redis常用命令

1、启动redis

[root@ops ~]# /export/server/redis/bin/redis-server /export/server/redis/conf/7001/redis_7001.conf

2、连接redis

[root@ops ~]# redis-cli -h 192.168.30.21 -p 7001 -a "xxx"

3、查看redis信息

192.168.30.21:7001> info
# Server
redis_version:5.0.9
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:efe084a04347e326
redis_mode:cluster
os:Linux 3.10.0-693.el7.x86_64 x86_64
arch_bits:64
multiplexing_api:epoll
atomicvar_api:atomic-builtin

4、key操作命令

4.1、获取所有键

192.168.30.21:7001> keys *

4.2、删除键

可以一次性删除多个键

192.168.30.21:7001> del key xx xx

4.3、查询键是否存在

如果存在则返回存在的个数

192.168.30.21:7001> exists xxx
(integer) 1

4.4、获取键总数

192.168.30.21:7001> dbsize
(integer) 14719

4.5、查询键类型

192.168.30.21:7001> type xxx
string

4.6、查询键的有效期

-1代表永不过期,秒语法:ttl key 毫秒语法:pttl key

192.168.30.21:7001> ttl xxx
(integer) -1

4.7、键设置过期时间

秒语法:expire key seconds 毫秒语法:pexpire key milliseconds

192.168.30.21:7001>  expire javastack 60
(integer) 1

4.8、获取键对应的值

192.168.30.21:7001> get xxx

4.9、设置键值

如果key不存在则建立,xx:如果key存在则修改其值

192.168.30.21:7001> set xxx()  xxx()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值