前言起承转合,redis的篇章终于来到了结篇的篇章了,在【合】这个篇章中,我们将会通过redis的实战,包含redis的客户端,数据一致性以及高并发的问题来展开,学了之后,对工作和自己的知识体系都是很有帮助的噢~敬请期待~正文Redis 客户端客户端通信原理客户端和服务器通过 TCP 连接来进行数据交互, 服务器默认的端口号为 6379 。客户端和服务器发送的命令或数据一律以 \r\n (CRLF
转载 2023-12-14 12:27:05
40阅读
前言起承转合,redis的篇章终于来到了结篇的篇章了,在【合】这个篇章中,我们将会通过redis的实战,包含redis的客户端,数据一致性以及高并发的问题来展开,学了之后,对工作和自己的知识体系都是很有帮助的噢~敬请期待~正文Redis 客户端客户端通信原理客户端和服务器通过 TCP 连接来进行数据交互, 服务器默认的端口号为 6379 。客户端和服务器发送的命令或数据一律以 \r\n (CRLF
转载 2023-12-15 21:09:43
32阅读
一、.NET使用Redis和MongoDB一样,在.NET中使用Redis其实也是使用第三方驱动,官网推荐的是使用ServiceStack.Redis 不过看CapQueen的博客时,有提到ServiceStack.Redis 4.0开始收费了,3.9功能不是特别全,一些地方存在不足。而使用了 StactkExchange.Redis ,具体以后详细研究,这里还是使用
redis内部数据结构字符串sds(柔性数组,与内置字符串兼容) 通过可以s[-1]查看字符串flag跳表(比红黑树实现简单,效率相当)压缩列表 节约内存,类似数组,顺序存放数据字典(哈系表,核心) 一个字典包含两个哈系表和rehashidx,因为哈系表会发生扩容缩容的rehash操作。渐进式rehash操作会被分散到多次操作中,降低耗时整数集合 有序存储整形数, 二分查找)快表 双向链表,结点是
Redis- 集群:AKF拆分(y轴和z轴),CAP,主从复制,哨兵机制容量问题Y轴拆分Z轴拆分拆分逻辑在Client拆分逻辑在Proxy拆分逻辑在Client弊端Proxy拆分逻辑原理redis自带的拆分:clustertwemproxy操作演示安装:nutcracker.yml 详解演示predixy操作演示cluster操作演示 容量问题单机redis在使用的时候会碰到三个问题:单点故障、
转载 2024-09-18 10:09:42
148阅读
Redis5.0迎来了一种新的数据结构Streams,没有了解过的同学可以先阅读前文,今天来介绍一下Streams相关的命令。XACK最早可用版本:5.0.0时间复杂度:O(1)用法:XACK key group ID [ID…]这个命令用于删除消费者组的pending entries list中的元素。通常情况下,调用XREADGROUP命令或者消费者调用XCLAIM命令时,会使一个消息阻塞
转载 2024-02-09 08:08:06
88阅读
消息队列,Message Queue,常用于解决并发系统中的资源一致性问题,提升峰值的处理能力,同时保证消息的顺序性、可恢复性、必送达性,对应用进行解耦,或者实现异步通讯等。 (推荐学习:Redis视频教程)市面上的 MQ应用有很多(例如:Kafka,RabbitMQ,Disque),同时也可以基于 Redis 来实现,比较典型的方案有:基于List的 LPUSH+BRPOP 的实现PUB/SUB
背景介绍 Stream是Redis 5.0引入的一种新数据类型,可以使我们更好的使用redis当作我们项目的轻量消息中间件,在设计上借鉴了 kafka,引入了消费组等概念,使redis传输的消息更加可靠,可以持久化消息,支持消息的重传,超时等 系统原理 在stream设计中,生产者通过 xadd 命令往stream结构中增加消息,而消费者则可以选择独立消费或者以消费组的方式来进行消费,一个str
转载 2023-09-02 11:28:28
589阅读
简介: RedisShake的设计思想,底层实现以及丰富的应用场景介绍。查看精彩回放:https://developer.aliyun/live/145188内容简要:一、背景二、RedisShake基本原理三、应用场景  一、背景(一)RedisShake能做什么如上图所示,RedisShake主要能做的事情有数据迁移、版本变更、架构变更与容灾等。现在大部分的数据库都
转载 2024-10-14 11:00:40
7阅读
php+redis简单实例一、说明因为redis是c/s架构。从这个角度上。不论什么符合redis的client要求的。都能够与redis进行通讯。官方提供了非常多的client。php在web方面的发展。大家够有目共睹。因此这里主要是解说php与redis的使用实例二、实例这里仅使用了redis的字符串类型。用到了get和set命令<?php /** * @explain php操作red
转载 2023-07-12 17:01:02
116阅读
一、定义Redis是一个开源的使用ANSIC语言编写,支持网络,可基于内存亦可持久化的日志型,key-value数据库,并且能够提供多种语言的API。存储类型:String(字符串),list(链表),set(集合),zset(有序集合),hash(哈希)等几种类型二、Redis持久化Redis的所有数据都是保存在内存当中的,如果数据库突然宕机,数据就会全部丢失,因此就需要有一种机制来保证Redi
转载 2023-11-10 09:39:58
71阅读
String 类型String类型是Redis用的较多的一个基本类型,也是最简单的一种类型,String类型的应用场景1,分布式缓存        Redis中会缓存一些常用的热点数据,可以提升数据查询的性能。2,限流        使用计
转载 2023-08-30 08:26:36
117阅读
//检查key是否存在,返回boolean值 1.stringRedisTemplate.hasKey(String key) //根据key获取缓存中value 2.stringRedisTemplate.opsForValue().get(Object key) //截取key键对应缓存中的字符串,从开始下标位置开始到结束下标的位置(包含结束下标) 3.stringRedisTemplate.
转载 2023-06-29 11:20:41
95阅读
在现代应用和系统中,Redis作为一个高性能的键值存储,因为其出色的性能和灵活的数据结构,广泛应用于缓存、会话存储、实时分析等场景。然而,当多个Redis实例对外提供服务时,如何有效地管理这些实例、实现高可用性和扩展性就变得尤为重要。以下将为您详细介绍如何进行Redis实例实例组的管理,包括环境准备、分步指南、配置详解、验证测试、优化技巧和扩展应用。 ## 环境准备 在部署Redis实例组前
原创 6月前
73阅读
目录一、数据持久化RDB方式AOF方式如何选择redis的持久化方式?二、事物处理 常用指令三、框架设计 主从复制哨兵模式集群模式一、数据持久化Redis是一种内存数据库,在断电时数据可能会丢失。为了保证在系统宕机(类似进程被杀死)情况下,能更快的进行故障恢复,Redis设计了两种数据持久化方案,分别为rdb和aof方式。RDB方式Rdb方式是通过手动(save-阻塞式,bgs
转载 2024-02-23 10:41:44
37阅读
一、安装与使用Redis1)sudo apt-get update 2)sudo apt-get install redis-server 3)启动serverredis-server4)启动clientredis-cli5)存储数据 写法:set key value 示例:set name xiaoming 6)获取数据 写法:get key 示例:get name 7)订阅消息 写法:subs
转载 2023-07-21 21:20:28
73阅读
      我们不得不说,redis开创一个新的数据存储思路,使用redis,我们不用在面对功能单调的数据库时候,把主要的精力放在如何把大象放进冰箱这样的问题,而是利用redis灵活多变的数据结构和数据操作,为不同的大象构建不同的冰箱。现在我们列举一下Redis比较合适的应用场景。1、记录前10个最新登录用户的id列表,超过范围的可以从数据库中获取//把当前登录人添加
转载 2023-07-04 11:30:28
71阅读
九:cluster集群——解决大数据量问题原文:《09丨切片集群:数据增多了,是该加内存还是加实例?》Redis要保存大量数据怎么办?纵向扩展:升级单个Redis实例的资源配置,如增加内存容量、高配置CPU等。但是,当数据量特别大时,硬盘会很难支撑,而且,一个实例中的数据太多,在fork子进程保存快照时就会严重阻塞主线程。横向扩展:切片集群,使用多个Redis实例存储数据。这时,会有两个问题:数据
转载 2023-08-15 22:09:08
55阅读
6.redis开发中的应用6.0.项目启动立即执行方法@Component public class InitRuner implements CommandLineRunner { // 注入 redis工具 @Autowired private RedisTemplate redisTemplate; /** * 项目启动, run 方法立刻执行
转载 2023-08-15 22:16:18
69阅读
Redis安装完成后默认创建一个端口为6379的实例,如果项目只有一个,那么在一个服务器上就够用了,不过一个服务器上往往会跑多个项目,这时就需要创建多个实例,下面为创建多个实例的具体实现。一、Redis安装在这里假定已经在服务器上安装好了Redis,如果未安,下载地址:https://github.com/MSOpenTech/redis/releases,选择Redis-x64-3.
转载 2023-07-27 17:08:30
67阅读
  • 1
  • 2
  • 3
  • 4
  • 5