`

redis 安装

阅读更多

 

redis官网:http://redis.io/

redis 中文官网 :http://www.redis.cn

redis集群教程:http://www.redis.cn/topics/cluster-tutorial.html

 

希望将redis安装到此目录 

/usr/local/redis

希望将安装包下载到此目录 

/usr/local/src

1.解压缩 redis安装包   tar xzf redis-3.0.4.tar.gz

cd redis-3.0.4

make PREFIX=/usr/local/redis install #安装到指定目录中

 

注意上面的最后一行,我们通过PREFIX指定了安装的目录。如果make失败,一般是你们系统中还未安装gcc,那么可以通过yum安装: 

yum install gcc

安装完成后,继续执行make. 

在安装redis成功后,你将可以在/usr/local/redis看到一个bin的目录,里面包括了以下文件: 

redis-benchmark  redis-check-aof  redis-check-dump  redis-cli  redis-server

在bin目录下 创建 redis.conf 文件配置redis参数

2.启动停止

    启动目录 /usr/local/redis/bin

 启动:./redis-server redis.conf 

 停止:./redis-cli shutdown

 

 3.然后用客户端测试一下是否启动成功
$ redis-cli
redis> set foo bar
OK
redis> get foo
"bar"

   链接非本机redis:
redis-cli -h 10.57.1.127 -p 22122
批量删除 redis key :
redis-cli KEYS "126.com*" | xargs redis-cli DEL

//如果redis-cli没有设置成系统变量,需要指定redis-cli的完整路径
 /usr/local/redis/bin/redis-cli keys "parseList:db212:*" | xargs /usr/local/redis/bin/redis-cli del
查看当前内存使用情况:
redis 192.168.1.85:6379> info
(或者:redis-cli info |grep memory)
used_memory:  redis 数据占用的内存
used_memory_human:
used_memory_rss:redis占用的物理内存
used_memory_peak:使用的物理内存峰值
used_memory_peak_human:
另:
  • used_memory : 由 Redis 分配器分配的内存总量,以字节(byte)为单位
  • used_memory_human : 以人类可读的格式返回 Redis 分配的内存总量
  • used_memory_rss : 从操作系统的角度,返回 Redis 已分配的内存总量(俗称常驻集大小)。这个值和 top 、 ps 等命令的输出一致。
  • used_memory_peak : Redis 的内存消耗峰值(以字节为单位)
  • used_memory_peak_human : 以人类可读的格式返回 Redis 的内存消耗峰值
  • used_memory_lua : Lua 引擎所使用的内存大小(以字节为单位)
  • mem_fragmentation_ratio : used_memory_rss 和 used_memory 之间的比率
  • mem_allocator : 在编译时指定的, Redis 所使用的内存分配器。可以是 libc 、 jemalloc 或者 tcmallo
结论:
 1.(当used_memory_rss 接近maxmemory 或者 used_memory_peak超过maxmemory时要加大maxmemory的值)
不要用比设置的上限更多的内存。一旦内存使用达到上限,Redis会根据选定的回收策略删除key
2.在理想情况下, used_memory_rss 的值应该只比 used_memory 稍微高一点儿。
当 rss > used ,且两者的值相差较大时,表示存在(内部或外部的)内存碎片。
内存碎片的比率可以通过 mem_fragmentation_ratio 的值看出。
当 used > rss 时,表示 Redis 的部分内存被操作系统换出到交换空间了,在这种情况下,操作可能会产生明显的延迟。

Because Redis does not have control over how its allocations are mapped to memory pages, high used_memory_rss is often the result of a spike in memory usage.

当 Redis 释放内存时,分配器可能会,也可能不会,将内存返还给操作系统。
如果 Redis 释放了内存,却没有将内存返还给操作系统,那么 used_memory 的值可能和操作系统显示的 Redis 内存占用并不一致。
查看 used_memory_peak 的值可以验证这种情况是否发生。
 
 
 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics