Redis简单梳理及集群配置

2024-08-29 14:38

本文主要是介绍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 ZrangebyscoreZadd
  • 注意:在这里变量不能重复,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 offredis-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:6379jedis = new Jedis("127.0.0.1", 6379);//权限认证jedis.auth("RedisZxh");

这篇关于Redis简单梳理及集群配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1118148

相关文章

Redis 的 SUBSCRIBE命令详解

《Redis的SUBSCRIBE命令详解》Redis的SUBSCRIBE命令用于订阅一个或多个频道,以便接收发送到这些频道的消息,本文给大家介绍Redis的SUBSCRIBE命令,感兴趣的朋友跟随... 目录基本语法工作原理示例消息格式相关命令python 示例Redis 的 SUBSCRIBE 命令用于订

mybatis映射器配置小结

《mybatis映射器配置小结》本文详解MyBatis映射器配置,重点讲解字段映射的三种解决方案(别名、自动驼峰映射、resultMap),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定... 目录select中字段的映射问题使用SQL语句中的别名功能使用mapUnderscoreToCame

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

Vite 打包目录结构自定义配置小结

《Vite打包目录结构自定义配置小结》在Vite工程开发中,默认打包后的dist目录资源常集中在asset目录下,不利于资源管理,本文基于Rollup配置原理,本文就来介绍一下通过Vite配置自定义... 目录一、实现原理二、具体配置步骤1. 基础配置文件2. 配置说明(1)js 资源分离(2)非 JS 资

MySQL8 密码强度评估与配置详解

《MySQL8密码强度评估与配置详解》MySQL8默认启用密码强度插件,实施MEDIUM策略(长度8、含数字/字母/特殊字符),支持动态调整与配置文件设置,推荐使用STRONG策略并定期更新密码以提... 目录一、mysql 8 密码强度评估机制1.核心插件:validate_password2.密码策略级

ShardingProxy读写分离之原理、配置与实践过程

《ShardingProxy读写分离之原理、配置与实践过程》ShardingProxy是ApacheShardingSphere的数据库中间件,通过三层架构实现读写分离,解决高并发场景下数据库性能瓶... 目录一、ShardingProxy技术定位与读写分离核心价值1.1 技术定位1.2 读写分离核心价值二

sky-take-out项目中Redis的使用示例详解

《sky-take-out项目中Redis的使用示例详解》SpringCache是Spring的缓存抽象层,通过注解简化缓存管理,支持Redis等提供者,适用于方法结果缓存、更新和删除操作,但无法实现... 目录Spring Cache主要特性核心注解1.@Cacheable2.@CachePut3.@Ca

QT Creator配置Kit的实现示例

《QTCreator配置Kit的实现示例》本文主要介绍了使用Qt5.12.12与VS2022时,因MSVC编译器版本不匹配及WindowsSDK缺失导致配置错误的问题解决,感兴趣的可以了解一下... 目录0、背景:qt5.12.12+vs2022一、症状:二、原因:(可以跳过,直奔后面的解决方法)三、解决方