Redis安装配置

来源:互联网 发布:蜂窝数据 3g 编辑:程序博客网 时间:2024/04/30 07:49

一、简介
   
       redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便。
      redis使用的是单进程,所以在配置时,一个实例只会用到一个CPU;在配置时,如果需要让CPU使用率最大化,可以配置Redis实例数对应CPU数, Redis实例数对应端口数(8核Cpu, 8个实例, 8个端口),以提高并发。

二、安装与配置

  1.  wgethttp://download.redis.io/redis-stable.tar.gz
  2. tar -zxvf redis-stable.tar.gz
  3. 进入解压后文件夹  执行  make
  4. 如果提醒错误,执行 make distclean 然后 make
  5. cd ./src/
  6. sudo make install 
  7. 创建redis节点
         1) cd /usr/local
         2) mkdir redis_cluster   创建集群目录
         3) mkdir 7000 7001 7002 7003 7004 7005
         4) 将redis.conf拷贝到以上创建的目录
         5) 依次将各个文件夹下的redis.conf修改: 
              例如7000文件夹下
                     daemonize    yes                          //redis后台运行
pidfile  /var/run/redis_7000.pid      //pidfile文件对应7000
port  7000                                    //端口7000
cluster-enabled  yes                      //开启集群  
cluster-config-file  nodes.conf        //集群的配置  配置文件首次启动自动生成
cluster-node-timeout  5000            //请求超时  了
appendonly  yes                           //aof日志开启  有需要就开启,它会每次写操作都记录一条日志
bind server 10.8.1.132                  //bind的是redis所在服务器网卡的ip。
                    protected-mode   no                        //未设置密码时设置时注意 (详见配置文档说明)。
                    /*以下两个是需要密码验证时设置*/
                    requirepass  yourpassword
                    masterauth   your password

       6)依次进入文件夹,执行redis-server redis.conf 启动服务
       7) 查看相应实例是否启动
       $ ps -ef | grep redis

root      40978      1  0 15:51 ?        00:00:03 redis-server 10.8.1.132:7000 [cluster]
root      41026      1  0 15:52 ?        00:00:03 redis-server 10.8.1.132:7001 [cluster]
root      41083      1  0 15:53 ?        00:00:03 redis-server 10.8.1.132:7002 [cluster]
root      41128      1  0 15:54 ?        00:00:03 redis-server 10.8.1.132:7003 [cluster]
root      41186      1  0 15:55 ?        00:00:03 redis-server 10.8.1.132:7004 [cluster]
root      41230      1  0 15:55 ?        00:00:03 redis-server 10.8.1.132:7005 [cluster]

    
  1. 创建集群(使用官方提供的创建集群的ruby脚本)
         1)安装 ruby
             apt-get install ruby
         2)安装 redis接口
             gem install redis
         3)进入源码目录,执行:
            $  ./redis-trib.rb create  --replicas  1 10.8.1.132:7000 10.8.1.132:7001  10.8.1.132:7002 10.8.1.132:7003    
                10.8.1.132:7004 10.8.1.132:7005         
         4)创建集群完成

     9.测试
      1)打开终端
       redis-cli -c -h 10.8.1.132 -p 7000
       >set hello world
      2)再打开个终端
       redis-cli -c -h 10.8.1.132 -p 7001
      >get hello
      >”world"
      3)cluster info 查看集群信息
          10.8.1.132:7000> cluster info
         cluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:6
cluster_size:3
cluster_current_epoch:6
cluster_my_epoch:1
cluster_stats_messages_sent:6211
cluster_stats_messages_received:6211

      4)cluster nodes 查看节点信息
           10.8.1.132:7000> CLUSTER NODES

ee7909513b3b0101c323a3bf316cc4a90d31be97 10.8.1.132:7000 myself,master - 0 0 1 connected 0-5460
a4092d47efbc7ca60d1af31c73f0eb9fff4b772f 10.8.1.132:7003 slave ee7909513b3b0101c323a3bf316cc4a90d31be97 0 1481790233383 4 connected
b5cd105a7c93435c03ecbec4744004ff03896bc2 10.8.1.132:7002 master - 0 1481790234888 3 connected 10923-16383
21f124849f7dd2fe28752db7c61df72e73b8a6a5 10.8.1.132:7005 slave b5cd105a7c93435c03ecbec4744004ff03896bc2 0 1481790235388 6 connected
b3d1a5801e3c61352ca7a3c46e7fc99151360223 10.8.1.132:7004 slave 40c32593c404a2594084234d29c566f4c7797e37 0 1481790233383 5 connected
40c32593c404a2594084234d29c566f4c7797e37 10.8.1.132:7001 master - 0 1481790234386 2 connected 5461-10922

……
 三、 监控配置 
   参考https://my.oschina.net/guol/blog/182265
   (最好根据info命令得到的信息自己写个监控)

       
0 0
原创粉丝点击