Redis4.0初步学习总结----单点、集群的安装与连接

一、Redis简介

1.1、Redis概述

全称Remote Dictionary Server,http://www.redis.cn/,是一种基于内存的键值对(key-value)的NoSQL数据库,它主要有:字符串(Strings)、哈希(Hashs)、列表(Lists)、集合(Sets)、有序集合(Sortedsets/Zsets) 5种数据类型。作为一个高速缓存的中间存储系统,用来处理高并发的数据库操作,主要应用于session的缓存处理。

1.2、Redis的特点

1.高性能的    2.Key/Value数据库   3.基于内存   4.数据类型丰富   5.持久化     6.订阅/发布模型

1.3、持久化

为了保证数据在内存掉电时的安全,建议采用重写模式(Append Only File)简称AOF,默认为RDB(Snapshot全本式复制)模式。

但在Redis 4.0版本新增了RDB-AOF混合持久化格式,这是一个可选的功能,在开启了这个功能之后,AOF重写产生的文件将同时包含RDB格式的内容和AOF格式的内容,其中RDB格式的内容用于记录已有的数据,而AOF格式的内存则用于记录最近发生了变化的数据,这样Redis可以同时兼有RDB持久化和AOF持久化的优点——既能够快速地生成重写文件,也能够在出现问题时,快速地载入数据,通过aof-use-rdb-preamble选项进行开启。

1.4、应用场景

Redis最广泛的应用场景就是使用它作为缓存(新闻或商品内容、聊天式的在线好友列表),除此还有任务队列(秒杀、抢购)、网站访问统计、数据过期处理(可以精确到毫秒)、应用排行榜、分布式集群架构中的session分离等

二、Redis的安装

基础环境CentOS-6.5-x86_64-minimal  redis-4.0.1.tar.gz

(本文档全面关闭防火墙!!!!!!!)

1、安装gcc

yum install gcc

2、解压缩tar包

tar -zxvf redis-4.0.1.tar.gz

3、make

redis根目录下    make MALLOC=jemalloc(内存管理优化方案,默认为libc)

4、启动服务

在redis目录下启动服务器端  ./redis/src/redis-server ./redis/redis.conf(完整命令)


Redis4.0初步学习总结----单点、集群的安装与连接_第1张图片

5、进入redis

在redis目录下的src目录输入     ./redis/src/redis-cli(完整命令)


6、测试

set key value     比如:set name xiaobai

getkey                          get name

                                      exit

三、Redis命令

3.1、基本命令

1、flushall清空所有数据库的key

flushdb清空当前数据库中的key

2、keys *显示redis中所有的key值

3、setkey value存储一个数据

4、getkey根据key获取对应的值

5、select num切换数据库共十六个默认DB 0

6、expirekey时间设置某一个key的有效期

ttl查询一个key的剩余有效期

7、del删除key

8、exit退出

3.2、数据类型(value类型)(重点  后续学习)

Redis的key和value都支持二进制安全的字符串,可以序列化java对象进行存储。

Redis4.0  新增了很多操作命令PSYNC、DEL 、 FLUSHDB 、 FLUSHALL、UNLINK、SWAPDB

1、string类型

       set    get   mset  mget   strlen  getrange

2、List类型

         lpush | lpushx       rpush | rpushx       lpop|rpop      lrange     llen

3、Zset

        zadd key score value       zrange        zrangebyscore           zrank            zscore                 zincrby key score

4、Set类型、Hash类型

四、MyEclipse 2016 CI、Tomcat7连接Redis

4.1、MyEclipse 2016 CI连接Redis

1、项目下加载 jedis-2.9.0.jar,注意jedis的方法和直接操作redis的命令基本一致。

2、简单设置一个key

        Jedis jedis=newJedis("192.168.136.7",6379);          jedis.set("name","xiaohei");            如此redis库里就生成了name xiaohei

Redis4.0初步学习总结----单点、集群的安装与连接_第2张图片

3、连接redis集群。


Redis4.0初步学习总结----单点、集群的安装与连接_第3张图片

4.2、Tomcat连接Redis集群

1、版本apache-tomcat-7.0.82.tar.gz、jdk-7u71-linux-x64.rpm安装

2、tomcat目录lib目录下添加tomcat-redis-session-manager-2.1.0.jar    commons-pool2-2.4.2.jar   jedis-2.9.0.jar

      tomcat目录下conf/context.xml添加


Redis4.0初步学习总结----单点、集群的安装与连接_第4张图片

3、启动tomcat即可使用

          tomcat/bin/startup.sh  访问http://192.168.136.51:8080/index.jsp  和 index1.jsp

           第一个jsp  index.jsp:

           那么在第二个jsp  index1.jsp 使用时即可获得 name,

Redis4.0初步学习总结----单点、集群的安装与连接_第5张图片

五、Redis集群

Redis是在redis3.x版本开始支持集群的,集群至少需要三台服务器,在加上三台备机,本次测试共使用六台服务器192.168.136.41:6379、192.168.136.42:6379、192.168.136.43:6379、192.168.136.44:6379、192.168.136.45:6379、192.168.136.46:6379。此版本之后服务器支持自动sharding,它有1万6千多个hash solt来完成sharding,再分发给实际服务器,实现散列均匀。

5.1、Redis集群的ruby安装

1.安装ruby

          tar -zxvf ruby-2.4.2.tar.gz      ./configure      make && make install

2.安装zlib

          yum installzlib-devel                  cd   ruby/ext/zlib/          ruby    extconf.rb

         makefile文件修改后再执行 make&&make install


Redis4.0初步学习总结----单点、集群的安装与连接_第6张图片

3.安装openssl

        yum install openssl-devel     cd  ruby/ext/ openssl /        ruby  extconf.rb

        makefile文件修改(同zlib)再执行make&&make install

4.gem install redis(可能需要redis-4.0.0.rc1.gem)


5.2、Redis集群的配置

1、物理机192.168.136.41、192.168.136.42、192.168.136.43、192.168.136.44、192.168.136.45、192.168.136.46默认端口为6379,每台的redis目录下redis.conf配置修改

protected-mode....

daemonize yes

cluster-enabled yes

cluster-config-file nodes-6379.conf

cluster-node-timeout   15000

appendonly yes  (4.0版本个人感觉应该开启aof-use-rdb-preamble)

(下图主要看注释含义,其他忽略)


Redis4.0初步学习总结----单点、集群的安装与连接_第7张图片

然后启动所有服务器,再执行./redis/src/redis-trib.rb create --replicas 1 192.168.136.41:6379192.168.136.42:6379 192.168.136.43:6379 192.168.136.44:6379 192.168.136.45:6379192.168.136.46:6379

Redis4.0初步学习总结----单点、集群的安装与连接_第8张图片

redis/src/redis-cli -h 192.168.136.41 -c -p 6379    //进入主节点


Redis4.0初步学习总结----单点、集群的安装与连接_第9张图片

MEMORY STATS子命令可以查看Redis当前的内存使用情况

5.3、Redis的负载能力

Redis官方也给我们提供了一些测试数据,有50个并发程序来执行10万次请求,Redis读(get)的速度达到了11万次/秒,写(set)的速度达到了8.1万次/秒。但在集群环境中,会影响很大。

Redis是单线程服务。它并没有设计为多CPU进行优化。如果想要从多核获取好处,那就考虑启用多个实例吧。

5.4、Redis集群的状态监控

redis提供了redis-trib工具做部署集群及运维等操作,但版本老旧,第二种工具RedisLive问题较多,个人建议采用redis-monitor程序,是对Redis-live的改进,在python环境下运行的。

注:本文借鉴了网上许多大佬的文章,本篇仅供本人记录和大家参考,如有侵权,联系删除相关内容!

          有用请打赏,无用别打脸

你可能感兴趣的:(Redis4.0初步学习总结----单点、集群的安装与连接)