Redis集群学习
Redis集群学习
1 安装
参照:http://www.cnblogs.com/wuxl360/p/5920330.html
补充如下几点:
1)gem install redis 这一步会报错,因为你懂的原因,可以选择离线安装
wget https://rubygems.global.ssl.fastly.net/gems/redis-3.2.1.gem
gem install -l ./redis-3.2.1.gem
2)可以把一个结点做好,然后做成模板,再用模板部署,这样容易的多
2 验证
redis01结点:
[redis@redis01 ~]$ redis-cli -h 192.168.110.51 -c -p 7000
192.168.110.51:7000> set tk “hello world”
-> Redirected to slot [6480] located at 192.168.110.55:7000
OK
192.168.110.55:7000> keys *
1) “tk”
redis06结点看结果:
[redis@redis06 ~]$ redis-cli -h 192.168.110.56 -c -p 7000
192.168.110.56:7000> keys *
1) “hello”
192.168.110.56:7000> get tk
-> Redirected to slot [6480] located at 192.168.110.55:7000
“hello world”
3 启动与停止
停:/usr/local/bin/redis-cli shutdown
启:/usr/local/bin/redis-server /etc/redis.conf
4 设置Redis最大占用内存
Redis设置最大占用内存,打开redis配置文件,如下所示:
# maxmemory
maxmemory 268435456
maxmemory是bytes字节类型,注意转换。般推荐Redis设置内存为最大物理内存的四分之三
设置了maxmemory的选项,redis内存使用达到上限。可以通过设置LRU算法来删除部分key,释放空间。默认是按照过期时间的,如果set时候没有加上过期时间就会导致数据写满maxmemory。
LRU是Least Recently Used 近期最少使用算法。
volatile-lru -> 根据LRU算法生成的过期时间来删除。
allkeys-lru -> 根据LRU算法删除任何key。
volatile-random -> 根据过期设置来随机删除key。
allkeys->random -> 无差别随机删。
volatile-ttl -> 根据最近过期时间来删除(辅以TTL)
noeviction -> 谁也不删,直接在写操作时返回错误。
可以用info命令查看内存使用情况:
192.168.110.55:7000> info memory
# Memory
used_memory:2438856
used_memory_human:2.33M
used_memory_rss:10047488
used_memory_rss_human:9.58M
used_memory_peak:2480472
used_memory_peak_human:2.37M
total_system_memory:8373686272
total_system_memory_human:7.80G
used_memory_lua:37888
used_memory_lua_human:37.00K
maxmemory:0
maxmemory_human:0B
maxmemory_policy:noeviction
mem_fragmentation_ratio:4.12
mem_allocator:jemalloc-4.0.3
5 集群操作命令
1)集群
CLUSTER INFO 打印集群的信息
CLUSTER NODES 列出集群当前已知的所有节点(node),以及这些节点的相关信息。
2)节点
CLUSTER MEET
CLUSTER FORGET
CLUSTER REPLICATE
CLUSTER SAVECONFIG 将节点的配置文件保存到硬盘里面。
3)槽(slot)
CLUSTER ADDSLOTS
CLUSTER DELSLOTS
CLUSTER FLUSHSLOTS 移除指派给当前节点的所有槽,让当前节点变成一个没有指派任何槽的节点。
CLUSTER SETSLOT
CLUSTER SETSLOT
CLUSTER SETSLOT
CLUSTER SETSLOT
4)键
CLUSTER KEYSLOT
CLUSTER COUNTKEYSINSLOT
CLUSTER GETKEYSINSLOT
6 密码登陆验证
1) 修改配置文件
redis.conf,找到如下行:
#requirepass foobared
去掉前面的注释,并修改为所需要的密码:
requirepass myPassword (其中myPassword就是要设置的密码)
2)重启
3)测试
$ ./redis-cli -h 192.168.10.51 -p 7000 -a myPassword
192.168.110.51:7000> config get requirepass
1) “requirepass”
2) “myPassword”
看到类似上面的输出,说明Reids密码认证配置成功。
近期评论