redis_简介、下载及参数配置

本文介绍了Redis这款开源key-value数据库的主要特点,包括其高性能、数据持久化能力以及丰富的数据结构支持。此外,还详细解析了Redis的配置参数,帮助读者理解如何通过配置文件redis.conf来调整Redis的行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 什么是redis?
 redis是一款开源免费的key-value数据库。基于BSD协议的软件(就是给用户足够的使用权限,能够修改源码代码,还能将修改后的源代码发布到网上)。
redis的优势

  • redis支持数据的持久化,可以将内存中的数据保存在磁盘中,并且在重启的时候可以再次加载进行使用。
  • redis不仅仅支持简单的key-value类型的数据,还支持list、set、zset、hash等数据结构的存储。
  • redis的性能极高,读的速度是110000次/秒、写的速度是81000次/秒,支持原子性操作。同时redis还支持数据的备份,即master-slave模式的数据备份。
  • redis具有丰富的特性,其中包括了publish/subscribe,通知,key过期等特性。
     

2. Redis的下载地址
 Redis的下载地址:https://github.com/dmajkic/redis/downloads
 下载完redis后,解压如下图(正常的不带打勾图标):
reids解压图
 然后根据自己电脑的操作系统位数进行选择32bit或64bit。
 
3. Redis启动过程

<1>启动一个DOS窗口(简称A窗口):使命令切换目录到Redis文件夹的目录位置,然后运行redis-server.exe redis.conf命令。
A窗口的redis使用
注意:我自己讲redis的64bit放在了E盘自定义redis文件夹下
<2>启动另一个DOS窗口(简称B窗口):使用命令切换到目录下,运行命令redis-cli.exe -h 127.0.0.1 -p 6379
窗口B的redis使用

4. Reids配置
<1>redis配置文件
redis的配置文件位于redis安装目录下,文件名为redis.conf。我们可以在DOS窗口中通过命令来进行更改redis的配置。

命令解释–
CONFIG GET *获取所有的配置项
CONFIG GET X获取X(X为一个配置项)的的值
CONFIG SET X Y设置X(X为一个配置项)的值为Y

 
5. Redis常见配置参数说明

配置项可取值解释
daemonizeyes/no设置redis是否以守护线程的方式运行,默认是no
pidfile/var/run/redis.pid当redis以守护线程运行时,redis默认会把pid写入/var/run/redis.pid文件
port端口号指定redis的默认监听端口,默认端口是6379
bind主机地址绑定的主机地址
timeoutX设置客户端闲置X秒后后关闭连接,如果设置为0,表示关闭改功能
logleveldebug/verbose/notice/warning设置日志记录级别,默认为verbose
logfilestdout设置日志记录方式,默认为标准输出,如果配置redis为守护线程方式运行,而在这里又配置日志的记录方式为标准输出,则日志将会发送给/dev/null
databasses16设置数据库的数量,默认数据库为0,可以使用SELECT <dbid>命令在连接上指定数据库id
save<seconds><changes>指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合。详情例子
rdbcompressionyes指定存储本地数据库时是否压缩数据,默认为yes。Redis采用LZF压缩,如果为了节省CPU时间,可以关闭该选项,但会导致数据库文件变得巨大
dbfilename文件名指定本地数据库文件名,默认为dump.rdb
dir./指定本地数据库存放目录
slavof<masterip><masterport>设置当本机为slav服务时,设置master服务的IP地址及端口,在redis启动时,它会自动从master进行数据同步
masterauth<master-password>当master服务设置密码保护时,slav服务连接master的密码
requirepassfoobared设置redis连接密码,如果配置了连接密码,客户端在连接redis时,需要通过AUTH <password>提供密码,默认关闭
maxclients128设置统一时间最大客户端连接数,默认无限制。redis可以同时打开的客户端连接数为redis进程可以打开的最大文件描述符数,如果设置 maxclients 0,表示不作限制。当客户端连接到达限制时,redis会关闭新的连接并向客户端返回max number of clients reached错误信息
maxmemory<byte>指定redis最大内存限制,redis在启动时会把数据加载到内存中,达到最大内存后,redis会尝试清除已到期或即将到期的key,当此方法处理后,任然到达最大内存设置,将无法再进行些入操作,但任然可以进行读取操作。redis新的vm机制,会把可以存在内存,value存放在swap区
appendonlyyes/no指定是否在每次更新后进行日志记录,redis在默认的情况下是异步的把数据写入磁盘,如果不开启,可能会在断电时导致一段时间内的数据丢失。因为redis本身同步数据文件是按上面save条件来同步的,所以有的数据会在一段时间内只存在于内存中。默认为no
appendfilenameappendonly.aof指定更新日志文件名,默认为appendonly.aof
appendfsyncno/alway/everysec指定更新日志条件。no:表示等操作系统进行数据缓存同步到磁盘(快)。 always:表示每次更新操作后手动调用fsync()将数据写到磁盘(慢,安全)。 everysec:表示每秒同步一次(折中,默认值)
vm-enabledyes/no指定是否启动虚拟内存机制,默认值为no。VM机制将数据分页存放,由redis将访问量较少的页(即:冷数据)存放在swap磁盘上,访问多的页面由磁盘自动换出到内存中。
vm-swap-file/tmp/redis.swap虚拟内存文件路径,默认值为/tmp/redis.swap
vm-max-memory0将所有大于vm-max-memory的数据存入虚拟内存,当vm-max-memory设置为0的时候,所有的value都存在于磁盘。默认值为0
vm-page-sie32redis swap文件分成了很多page,一个对象可以保存在多个page上面,但是一个page上不能被多个对象共享,vm-page-size是要根据存储的数据大小来设定的,如果存储很多小对象,建议最好设置为32/64bytes。如果存储很大的对象,可以使用更大的page。如果不确定,就使用默认值
vm-pages134217728设置swap文件中的page数量,由于页表(一种表示页面空闲或使用的bitmap)是在放在内存中的,在磁盘上每8个pages将消耗1byte的内存
vm-max-threads4设置访问swap文件的线程数,最好不要超过机器的核数,如果设置为0,那么所有对swap文件的操作都是串行的,可能造成比较长时间的延迟。默认值为4
glueoutputbufyes设置在向客户端应答时,是否把较小的包合并为一个包发送,默认为开启
hash-max-zipmap-enteries64指定在超过一定的数量时,采用一种特殊的哈希算法
hash-max-zipmap-value512指定最大的元素超过某一临界值时,采用一种特殊的哈希算法
activerehashingyes指定是否激活重置哈希,默认为开启
include/path/to/local.conf指定包含其他的配置文件,可以在同一主机上多个Redis实例之间使用同一份配置文件,而同时各个实例又拥有自己的特定配置文件

 

Redis默认配置文件中提供了三个条件:

save 900 1
save 300 10
save 60 10000

分别表示900秒内有一个更改,300秒内有十个更改以及60秒内有10000个更改
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值