Redis简单梳理及集群配置
**REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。
Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。**
Redis简介
- Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。
Redis 与其他 key - value 缓存产品有以下几个特点:
• Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
• Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
• Redis支持数据的备份,即master-slave模式的数据备份。
• 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
• 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
• 原子 – Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。
• 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。
Redis安装
打开一个 cmd 窗口 使用cd命令切换目录到 redis 运行 redis-server.exe redis.windows.conf
到了后面我们知道启动Redis服务是通过redis-cli redis.conf这个命令的
到这里我们就成功的启动了一个Redis服务了。默认是没有密码的。这时候我们只需要ip+port就可以访问到这个redis了,从而就可以对这个Redis就行crud操作了。- 这个时候另外打开一个新的cmd窗口,运行redis-cli.exe -h 127.0.0.1 -p 6379
下面我们就演示一下运行流程 首先 set mykey abc 这是设置
然后我们就开始读取我们设置的key 运行 get mykey 获取abc
Redis 配置
- Redis 的配置在redis.conf配置文件里。我们可以通过config命令获取信息
1、 获取config_setting_name 值 Config get config_setting_name
2、 获取日志级别 config get loglevel
3、 获取所有 config get *
既然我们可以获取就应该可以修改,我们可以编辑redis.conf或者通过config set命令修改配置
Redis数据类型
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。有意思的是redis的string包含所有二进制数据,包括图片等。String一个键最大存储512MB 数据
| 数据类型 | 获取 | 设置 |
| String | Get | Set |
| Hash | Hgetall | Hmset |
| List | Lrange | Lpush |
| Set | Smembers | Sadd |
| zset | Zrangebyscore | Zadd |
- 注意:在这里变量不能重复,string a ,那么不能再hash a 了。还有zset和set都是不能元素重复的。Set里添加的元素重复是不处理的。但是zset中添加重复元素会覆盖的。Zset中元素不能重复但是score是可以覆盖的
集群配置前期准备
- 首先去Github下载最新的Redis,
值得解释的是我下载的windows版本,redis.conf 在这里是redis.windows.conf。有了这个我们只需要在redis.conf文件里修改端口然后通过redis-cli redis.conf 这个命令启动了。
在这里给大家一个小建议将下面代码贴在bat文件中,就可以避免每次输入命令了,
@echo off
redis-server.exe redis.conf
@pause
然后将bat文件名修改成自己喜欢的名字就行了,以后我们在点击这个就可以执行开启Redis服务的功能。我都是讲文件名和端口号同意起来的,这样有助于后面集群。
到这里我们就创建了一个Redis服务了。集群就是很多个这样的Redis服务在一起工作。所以我们只要复制我们配置好的这个Redis服务。并把redis.conf里面的端口号改成不一样的,吧bat名字也改成对应端口。
ruby环境安装
- 因为redis集群是通过Redis cluster来实现的,redis-cluster安装前需要安装ruby环境,搭建集群需要使用到官方提供的ruby脚本。需要安装ruby的环境。
安装RubyGems
下载下来是一个压缩包,解压运行里面的 setup.rb 安装 rubyGems
删除默认的官方源
gem sources -r https://rubygems.org/
添加淘宝源
gem sources -a https://ruby.taobao.org/
查看当前源
gem sources -l
集群开启(使用Redis - cluster )
1.按照上面所说的配置好各个实例,主要是改端口号,运行 7000.bat- 7005.bat脚本启动六个redis实例
2.另开一个cmd窗口到redis文件夹下运行
redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005
我们选择yes 就是同意Redis-cluster对我开启的这六个Redis服务进行随机分片了。其中是三主三从。根据实际需求我们可以设置N主M从,但是通过Redis-cluster必须至少要启动六个服务器。
replicas -1 意思是为我们的集群中每个主节点都配置一个从节点
到这里我们的集群就已经配置完成了,至于怎么在Java中使用呢,Redis也提供了很好接口给我们。
Java Redis 整合
- Redis给我们提供了jedis jar包,我们引入这个jar包执行如下操作就可以连接到指定的Redis服务上了。Redis 默认没有密码,没有密码jedis.auth这句就不写或者写空都可以的
//连接redis服务器,192.168.0.100:6379
jedis = new Jedis("127.0.0.1", 6379);
//权限认证
jedis.auth("RedisZxh");
Redis简单梳理及集群配置的更多相关文章
- RocketMQ 简单梳理 及 集群部署笔记【转】
一.RocketMQ 基础知识介绍Apache RocketMQ是阿里开源的一款高性能.高吞吐量.队列模型的消息中间件的分布式消息中间件. 上图是一个典型的消息中间件收发消息的模型,RocketMQ也 ...
- Redis 3.0 Cluster集群配置
Redis 3.0 Cluster集群配置 安装环境依赖 安装gcc:yum install gcc 安装zlib:yum install zib 安装ruby:yum install ruby 安装 ...
- Redis高可用之集群配置(六)
0.Redis目录结构 1)Redis介绍及部署在CentOS7上(一) 2)Redis指令与数据结构(二) 3)Redis客户端连接以及持久化数据(三) 4)Redis高可用之主从复制实践(四) 5 ...
- Redis集合 安装 哨兵集群 配置
redis相关 redis基础 redis发布订阅 redis持久化RDB与AOF redis不重启,切换RDB备份到AOF备份 redis安全配置 redis主从同步 redis哨兵集群 redis ...
- RocketMQ 简单梳理 及 集群部署笔记
一.RocketMQ 基础知识介绍Apache RocketMQ是阿里开源的一款高性能.高吞吐量.队列模型的消息中间件的分布式消息中间件. 上图是一个典型的消息中间件收发消息的模型,RocketMQ也 ...
- 3-RocketMQ 简单梳理 及 集群部署笔记
原文:https://www.cnblogs.com/kevingrace/p/9015836.html 一.RocketMQ 基础知识介绍Apache RocketMQ是阿里开源的一款高性能.高吞吐 ...
- redis相关笔记(二.集群配置及使用)
redis笔记一 redis笔记二 redis笔记三 1.配置:在原redis-sentinel文件夹中添加{8337,8338,8339,8340}文件夹,且复制原8333中的配置 在上述8333配 ...
- Redis简单集群配置
参考链接为:http://blog.csdn.net/u014230881/article/details/71123494 比较系统学习和熟练使用Redis命令可参考该教程:http://www.r ...
- redis集群配置与管理
Redis在3.0版本以后开始支持集群,经过中间几个版本的不断更新优化,最新的版本集群功能已经非常完善.本文简单介绍一下Redis集群搭建的过程和配置方法,redis版本是5.0.4,操作系统是中标麒 ...
随机推荐
- 深入学习Spring框架(四)- 事务管理
1.什么是事务? 事务(Transaction)是一个操作序列.这些操作要么都做,要么都不做,是一个不可分割的工作单位,是数据库环境中的逻辑工作单位.事务是为了保证数据库的完整性.例如:A给B转账,需 ...
- [转载] 管Q某犇借的手写堆
跟gxy大神还有yzh大神学了学手写的堆,应该比stl的优先队列快很多. 其实就是维护了一个二叉堆,写进结构体里,就没啥了... 据说达哥去年NOIP靠这个暴力多骗了分 合并果子... templat ...
- VirtualBox下安装Linux系统
Linux 开源的类Unix操作系统,拥有图形界面文字界面,旗下发行版不胜其数(Ubuntu.Deepin.CentOS...)在互联网公司中Linux服务器大多是用的CentOS系统,其他Linux ...
- 【CYH-01】小奔的国庆练习赛:赛后标程
前排鸣谢@找寻 大佬 emm-由于头一次举办公开赛所以--准备不是很充分,所以说题解也没有备好,在这里表示歉意. 欢迎大家来发布题解,在此我们可以提供AC代码,供大家参考. T1 解析:这一题可能栈溢 ...
- UVA101 The Blocks Problem 题解
题目链接:https://www.luogu.org/problemnew/show/UVA101 这题码量稍有点大... 分析: 这道题模拟即可.因为考虑到所有的操作vector可最快捷的实现,所以 ...
- 前端框架——树形结构Ztree的使用
地址 官网:http://ztree.me 码云:https://gitee.com/zTree/zTree_v3 可以实现效果 使用方式 下载资源文件,引入到自己的项目中 <head> ...
- 解读Android MediaPlayer 详细使用方法
MediaPlayer具有非常强大的功能,对音视频的播放均提供了支持,为了保证播放期间系统的正常工作,需要设置"android.permission.WAKE_LOCK"权 ...
- spark 源码分析之一 -- RDD的四种依赖关系
RDD的四种依赖关系 RDD四种依赖关系,分别是 ShuffleDependency.PrunDependency.RangeDependency和OneToOneDependency四种依赖关系.如 ...
- MetInfo企业网站管理系统 5.3 全新安装
在phpStudy\PHPTutorial\WWW的文件下创建MetInfo文件夹.把MetInfo5.3解压到MetInfo文件夹里 用浏览器访问127.0.0.1/MetInfo 同意安装 下一步 ...
- java练习---7
//程序员:罗元昊 2017.10.7 import java.util.Scanner; public class L { public static void main(String[] args ...