您的位置:首页 > 数据库 > Redis

redis_简介、下载及参数配置

2018-02-07 15:48 351 查看
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后,解压如下图(正常的不带打勾图标):



 然后根据自己电脑的操作系统位数进行选择32bit或64bit。

3. Redis启动过程



<1>启动一个DOS窗口(简称A窗口):使命令切换目录到Redis文件夹的目录位置,然后运行
redis-server.exe redis.conf
命令。



 注意:我自己讲redis的64bit放在了E盘自定义redis文件夹下

<2>启动另一个DOS窗口(简称B窗口):使用命令切换到目录下,运行命令
redis-cli.exe -h 127.0.0.1 -p 6379




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个更改
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息