Redis是一个开源的使用ANSI C编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、KeyValue数据库,并提供多种语言的API,它通常被称为数据结构服务器,因为值(value)可以是字符串(String)、哈希(Map)、列表(list)、集合(sets)和有序集合(sorted sets)等类型。
本文将介绍如何在Linux环境下安装和配置Redis,以及一些常用的Redis命令。
Redis安装
1、下载Redis源码
我们需要从Redis官网下载最新的源码包,在终端中输入以下命令:
wget http://download.redis.io/releases/redis6.2.5.tar.gz
2、解压源码包
下载完成后,我们需要解压源码包,在终端中输入以下命令:
tar xzf redis6.2.5.tar.gz
3、编译安装Redis
进入解压后的目录,然后执行以下命令进行编译和安装:
cd redis6.2.5 make make install
Redis配置
Redis的配置文件位于/etc/redis/redis.conf
,你可以使用文本编辑器打开并修改这个文件,以下是一些常见的配置项:
配置项 | 描述 | 默认值 |
daemonize no | 是否以守护进程方式运行 | yes |
port 6379 | 监听端口 | 6379 |
bind 127.0.0.1 | 绑定IP地址 | 127.0.0.1 |
logfile stdout | 日志输出方式 | stdout |
appendonly no | 是否开启appendonly模式 | no |
save 900 1 | 多久写入一次快照,如果设置为"save 900 10",则表示900秒(15分钟)内有10个key发生变化,则写入快照 | 900 1 |
dbfilename dump.rdb | RDB文件名 | dump.rdb |
dir /var/lib/redis | RDB和AOF文件的存储目录 | /var/lib/redis |
maxclients 10000 | 最大客户端连接数 | 10000 |
maxmemory |
最大内存使用量,当达到此值时,Redis会实施数据淘汰策略 | maxmemory |
maxmemorypolicy allkeyslru | 内存淘汰策略 | allkeyslru |
minmemorypolicy noeviction | 如果达到maxmemory并且有客户端请求新的数据,如何处理? | noeviction |
appendfsync everysec | AOF持久化策略 | everysec |
appendfsync no | AOF持久化策略 | no |
latencymonitorthreshold default | latency monitor的阈值,超过该值后进行统计和报警 | default |
latencymonitorinterval not set | latency monitor的时间间隔,单位是毫秒 | not set |
tcpbacklog 511 | tcp连接队列大小 | 511 |
renamecommand FLUSHDB "" | 重命名一些危险的命令,例如FLUSHDB,以防止误操作 | "" |
renamecommand FLUSHALL "" | 重命名一些危险的命令,例如FLUSHALL,以防止误操作 | "" |
renamecommand KEYS "" | 重命名一些危险的命令,例如KEYS,以防止误操作 | "" |
stopwritesonbgsaveerror yes | 如果AOF文件重写失败,是否停止写操作? | yes |
rdbcompression yes | RDB文件是否压缩? | yes |
dbfilename dump.rdb | RDB文件名 | dump.rdb |
dir /var/lib/redis | RDB和AOF文件的存储目录 | /var/lib/redis |
maxclients 10000 | 最大客户端连接数 | 10000 |
maxmemory |
最大内存使用量,当达到此值时,Redis会实施数据淘汰策略 | maxmemory |
maxmemorypolicy allkeyslru | 内存淘汰策略 | allkeyslru |
minmemorypolicy noeviction | 如果达到maxmemory并且有客户端请求新的数据,如何处理? | noeviction |
appendfsync everysec | AOF持久化策略 | everysec |
appendfsync no | AOF持久化策略 | no |
latencymonitorthreshold default | latency monitor的阈值,超过该值后进行统计和报警 | default |
latencymonitorinterval not set | latency monitor的时间间隔,单位是毫秒 | not set |
tcpbacklog 511 | tcp连接队列大小 | 511 |
| renamecommand FLUSHDB ""
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/502195.html