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(完整命令)


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

3、连接redis集群。


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添加


3、启动tomcat即可使用

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

           第一个jsp  index.jsp:

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

五、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


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)

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


然后启动所有服务器,再执行./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

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


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环境下运行的。

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

          有用请打赏,无用别打脸

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容