欢迎来到天天文库
浏览记录
ID:33838094
大小:47.00 KB
页数:4页
时间:2019-03-01
《redis系统管理》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、一、系统管理1安装·客户端、·服务器(32bit、64bit)2配置·配置文件·命令CONFIGGET:显示配置项CONFIGSET:设置配置项·配置项3管理·启动、redis-server/ect/redis.conf·停止:redis-clishutdown·服务器统计信息1)INFO:输出服务器的统计信息2)CONFIGRESETSTAT:将以下统计项清0·Keyspacehits·Keyspacemisses·Numberofcommandsprocessed·Numberofconnec
2、tionsreceived·Numberofexpiredkeys4持久性1)快照·配置文件save9001save30010save6010000rdbcompressionyesdbfilenamedump.rdbdir/data/redis_data/#---快速配置save36001#1小时save180010#30分钟save600100000#10分钟10W次·动态改变配置-CONFIGSETsave"36001180010600100000"·命令-BGSAVE:在后台保存DB。父进
3、程继续提供服务,子进程在后台保存DB。-LASTSAVE:返回最近一次DB成功保存的unix时间戳。·关掉快照--方法一:将配置文件的所有save指令注释掉--方法二:执行命令redis-cliconfigsetsave""·备注: --rdb文件的大小约是内存的十分之一。2)AOF·配置文件·动态改变配置·命令3)备注·持久性是通过fork子进程在后台执行的,在保存数据到磁盘时主进程会继续响应客户端的请求。·快照和AOF可以同时使用·通过CONFIGSET命令可以动态启动AOF,此时AOF文件的
4、初始内容是通过内存中的数据构建的,随后的命令会被附加到AOF文件。因此动态配置方式和server启动时就打开AOF的效果是一样的。5复制1)配置文件在redis.conf中添加下面的配置项,然后重启进程。slaveof2)命令SLAVEOFnoone#停止复制。Slave的原有数据不会被丢掉SLAVEOFhostport#从指定的master开始复制。Slave的原有数据会被丢掉3)备注·master重启后slave会自动重新同步。S
5、lave的原有数据会被丢掉 ·master上执行FLUSHALL后,slave上的数据也会被清空6内存1)配置·activerehashing:重新hash主哈希表,尽快释放内存·在下列数据结构的<元素数>、<元素大小>不超过限制情况下有效较少内存使用hash-max-zipmap-entries64hash-max-zipmap-value64list-max-ziplist-entries64list-max-ziplist-value64set-max-intset-entries64zse
6、t-max-ziplist-entries64zset-max-ziplist-value64·内存上限:#maxmemory#maxmemory-policyvolatile-lru#maxmemory-samples3可用的淘汰策略有:#volatile-lru->使用LRU算法淘汰,仅针对有过期时间的key进行淘汰#allkeys-lru->对所有key使用LRU算法进行淘汰#volatile-random->随机淘汰,仅针对有过期时间的key进行淘汰#allkeys->ran
7、dom->随机淘汰,对所有key进行淘汰#volatile-ttl->TTL最小的元素先淘汰#noeviction->不淘汰,写操作以失败返回注1:不配置时内存没有上限注2:如果达到内存上限,且没有可淘汰元素,则所有写操作返回失败,读操作可以正常进行2)命令3)备注·32bit/64bit:使用64bit时会比32bit多用20%的内存,原因是64bit时指针的长度是8个字节。使用64bit不会有4G内存的限制·数据集超过RAM时,性能会严重下降。此时操作系统的VM机制在发挥作用。4)VM·OS-
8、vm:数据集超过RAM时操作系统的VM开始发挥作用。·Redis-vm:redis自身实现的vm机制不再推荐使用,在将来的版本中会被移除。二、命令参考《redis_cmd.chm》三、API1、c见:http://redis.io/clients2、python见:http://redis.io/clients四、常见问题1、Can'tsaveinbackground:fork:Cannotallocatememory解决:方法1):将'vm.overcommit_memory=1
此文档下载收益归作者所有