42 热度

基于Redis消息的订阅发布应用场景

基于Redis消息的订阅发布应用场景1.应用背景在物联网采集管控系统中,前后端隔离的情况下,前端通过表单(比如按钮,开关,表格等)输入数据到数据库(比如MySql,通过WEBAPI服务端输入),然后采集控制端到数据库里去扫表取数据,将数据下发给物联网络中的终端设备(比如风扇控制板),从而来控制风扇的开跟关。2.困境采集控制端需要到数据库中去扫表。这个扫表操作会带来几个问题:2.1 锁表风险扫表会有锁表风险,当该DBContext被占用的时候,其他线程不能实时使用此DBContext。2.2 实时性差在物联网系统中,数据会非常多,比如有10000台设备,每台设备有100个采集控制点,则控制点最多...

收录时间: 2019-06-13
分类: Redis
贡献者: Rector
54 热度

你确定不来了解下 Redis 字符串的原理吗

Redis 有五种基础数据结构:string,list,set,zset,hash.其中 string是最最最简单的也是最常用的.这个数据类型虽然简单但是内部的结构设计却很是精致.基本介绍相比于 Java,在 Redis 中 string 是可以修改的,是动态字符串(Simple Dynamic String 简称 SDS)他的内部结构更像是一个 ArrayList,维护一个字节数组并预分配冗余空间以减少内存的频繁分配.当字符串的长度小于 1MB时,每次扩容都是加倍现有的空间,如果字符串长度超过 1MB 时,每次扩容时只会扩展 1MB 的空间.ps:字符串长度为最大长度 512MB.> s...

收录时间: 2019-06-03
分类: Redis
贡献者: Rector
97 热度

Redis 桌面管理工具 RedisDesktopManager 2019.1 发布

RedisDesktopManager 2019.1 版本已发布,Redis Desktop Manager(RedisDesktopManager,RDM)是一个快速、简单、支持跨平台的 Redis 桌面管理工具,基于 Qt 5 开发,支持通过 SSH Tunnel 连接。

收录时间: 2019-05-30
分类: Redis
贡献者: Rector
221 热度

Redis的n种妙用,不仅仅是缓存

介绍redis是键值对的数据库,常用的五种数据类型为字符串类型(string),散列类型(hash),列表类型(list),集合类型(set),有序集合类型(zset)Redis用作缓存,主要两个用途:高性能,高并发,因为内存天然支持高并发应用场景分布式锁(string)setnx key value,当key不存在时,将 key 的值设为 value ,返回1。若给定的 ...

收录时间: 2019-01-10
分类: Redis
贡献者: Rector
373 热度

Redis 集群分布式锁与 API 网关分布式限流

Redis 集群的历史 Redis 在 3.0 前一般有两种集群方案,一是 proxy(Twemproxy、Codis),二是使用 Sentinel(哨兵)。 通过 Sentinel 是一种使用哨兵来达到高可用的方案,而 proxy 是用于在前置上进行 sharding 用代理给后端的 redis 集群的方案,达到负载均衡的方案,在单个分片的 redis 中作主从。 因为本文要重点讲解的不是 3.0 前的方案,因此说的比较粗略。 Redis3.0 提供了官方的 Redis cluster 机制支持。主要通过内部无中心的多个节点来达到集群、高可用的作用。下面是 Redis Cluster 的架构图

收录时间: 2018-12-28
分类: Redis
贡献者: Rector
277 热度

RedisPlus 3.2.0 升级底层驱动,支持 SSH 秘钥连接

Redis可视化管理客户端,欢迎大家交流,感谢支持,帮忙点个starRedisPlus是为Redis可视化管理开发的一款开源免费的桌面客户端软件,支持Windows 、Linux、Mac三大系统平台,RedisPlus提供更加高效、方便、快捷的使用体验,有着更加现代化的用户界面风格。该软件支持单机、集群模式连接,同时还支持SSH(...

收录时间: 2018-12-23
分类: Redis
贡献者: Rector
AD 友情赞助
223 热度

利用Redis实现分布式锁

写在最前面我在之前总结幂等性的时候,写过一种分布式锁的实现,可惜当时没有真正应用过,着实的心虚啊。正好这段时间对这部分实践了一下,也算是对之前填坑了。分布式锁按照网上的结论,大致分为三种:1、数据库乐观锁; 2、基于Redis的分布式锁;3.、基于ZooKeeper的分布式锁;关于乐观锁的实现其实在之前已经讲的很清楚了,有兴趣的移步:使用mysql乐观锁解决并发问题 。今天先简单总结下re...

收录时间: 2018-11-26
分类: Redis
贡献者: Rector
293 热度

RedisPlus 3.0.0 重构后震撼归来 优化性能和交互体验

RedisPlus是为Redis可视化管理开发的一款开源免费的桌面客户端软件,支持Windows、Linux、Mac三大系统平台,RedisPlus提供更加高效、方便、快捷的使用体验,有着更加现代化的用户界面风格。该软件支持单机、集群模式连接,同时还支持SSH(单机、集群)通道连接。RedisPlus致力于为大家提供一个高效的Redis可视化管理软件。项目开源地址:https://gitee....

收录时间: 2018-11-26
分类: Redis
贡献者: Rector
288 热度

redis5.x新特性,Stream流数据类型使用简单教程

在一般的编程概念里,流是一种主要用于优化内存的数据类型,它不需要一次性把大量数据,比如说大文件一次性读取到内存再处理,可以边读取边处理,这样可以用少量内存就可以处理大文件。 因此简单地说,流是Redis一种新的数据结构,不需要读取原有key的值,就可以在此key中添加新内容的数据类型。

收录时间: 2018-10-26
分类: Redis
贡献者: Rector
443 热度

Redis 5.0 正式发布!

Redis 5.0 GA 正式版发布了!下载地址:http://download.redis.io/releases/redis-5.0.0.tar.gz源码下载:https://github.com/antirez/redis/releases/tag/5.0.0先看一下 Redis 5 带来的更新内容:1. 新的流数据类型(Stream data type) https:/...

收录时间: 2018-10-18
分类: Redis
贡献者: Rector
518 热度

Redis 桌面管理工具 RedisDesktopManager 0.9.6 发布

RedisDesktopManager 0.9.6 版本已发布,Redis Desktop Manager(RedisDesktopManager,RDM)是一个快速、简单、支持跨平台的 Redis 桌面管理工具,基于 Qt 5 开发,支持通过 SSH Tunnel 连接。改进Implement commands history an...

收录时间: 2018-09-18
分类: Redis
贡献者: Rector
413 热度

Redis 5.0 rc5 发布,key-value 数据库

Redis 5.0 rc5 发布了。Redis 是一个高性能的 key-value 数据库。更新内容如下:BREAKING BEHAVIOR: Slaves 现在默认忽略 maxmemory。BREAKING BEHAVIOR: 现在脚本总是被复制用于它们的效果,并且永远不会将脚本本身发送到从属/ AOF。提升:大流水线性...

收录时间: 2018-09-10
分类: Redis
贡献者: Rector
369 热度

超详细的 Redis Cluster 官方集群搭建指南

今天从 0 开始搭建 Redis Cluster 官方集群,解决搭建过程中遇到的问题,超详细。安装ruby环境因为官方提供的创建集群的工具是用ruby写的,需要ruby2.2.2+版本支持,ruby安装需要指定openssl。安装openssl$ wget https://www.openssl.org/source/openssl-1.0.2m.tar.gz$ tar -zxvf o...

收录时间: 2018-09-10
分类: Redis
贡献者: Rector
392 热度

优雅实现延时任务之Redis篇

什么是延时任务延时任务,顾名思义,就是延迟一段时间后才执行的任务。举个例子,假设我们有个发布资讯的功能,运营需要在每天早上7点准时发布资讯,但是早上7点大家都还没上班,这个时候就可以使用延时任务来实现资讯的延时发布了。只要在前一天下班前指定第二天要发送资讯的时间,到了第二天指定的时间点资讯就能准时发出去了。如果大家有运营过公众号,就会知道公众号后台也有文章定时发送的功能。总而言之,延时任务的使...

收录时间: 2018-09-04
分类: Redis
贡献者: Rector
332 热度

Redis源码阅读(三)集群-连接初始化

Redis源码阅读(三)集群-连接建立 对于并发请求很高的生产环境,单个Redis满足不了性能要求,通常都会配置Redis集群来提高服务性能。3.0之后的Redis支持了集群模式。Redis官方提供的集群功能是无中心的,命令请求可以发送到任意一个Redis节点,如果该请求的key不是由该节点负责处理,则会返回给客户端MOVED错误,提示客户端需要转向到该key对应的处理节点上。支持集群模式...

收录时间: 2018-08-31
分类: Redis
贡献者: Rector
AD 友情赞助
375 热度

【中间件】Redis 实战之主从复制、高可用、分布式

注意:采用 everysec 方式,最多可能丢失 2s 的数据。主从复制为什么需要主从复制:通过持久化保证 Redis 在服务器重启的情况下数据也不会丢失。但数据在一台服务器上,如果服务器的硬盘坏了,也会导致数据丢失。为了避免单点故障,Redis 提供了主从复制高可用方案。主从复制结构:1个 master 可以有多个 slave1个 slave 只能有1个 master数据流向单向...

收录时间: 2018-08-30
分类: Redis
贡献者: Rector
319 热度

redis系列--深入哨兵集群

一、前言在之前的系列文章中介绍了redis的入门、持久化以及复制功能,如果不了解请移步至redis系列进行阅读,当然我也是抱着学习的知识分享,如果有什么问题欢迎指正,也欢迎大家转载。而本次将介绍哨兵集群相关知识,包括哨兵集群部署、哨兵原理、相关配置、故障转移等内容,正因为redis有了哨兵机制,而在很多企业(包括笔者自身的公司)采用的是哨兵模式下的redis主从。二、哨兵(Sentinel)简...

收录时间: 2018-08-30
分类: Redis
贡献者: Rector
383 热度

这可能是目前最全的Redis高可用技术解决方案总结 - Redis

主库的写能力受到单机的限制,可以考虑分片;主库的存储能力受到单机的限制,可以考虑Pika;原生复制的弊端在早期的版本中也会比较突出,如:Redis复制中断后,Slave会发起psync,此时如果同步不成功,则会进行全量同步,主库执行全量备份的同时可能会造成毫秒或秒级的卡顿;又由于COW机制,导致极端情况下的主库内存溢出,程序异常退出或宕机;主库节点生成备份文件导致服务器磁盘IO和CPU(压...

收录时间: 2018-08-22
分类: Redis
贡献者: Rector
336 热度

玩转Redis持久化

Redis系列的第三篇,结合自己看过的文章,以及最近对Redis源码的阅读总结一下自己对持久化的认识。真心希望对你有帮助。Redis为持久化提供了两种方式:RDB:在指定的时间间隔能对你的数据进行快照存储。AOF:记录每次对服务器写的操作,当服务器重启的时候会重新执行这些命令来恢复原始的数据。本文将通过下面内容的介绍,希望能够让大家更全面、清晰的认识这两种持久化方式,同时理解这种保存数...

收录时间: 2018-08-13
分类: Redis
贡献者: Rector
311 热度

Redis Cluster流程原理

Redis 3.0之后,节点之间通过去中心化的方式,提供了完整的sharding、replication(复制机制仍使用原有机制,并且具备感知主备的能力)、failover解决方案,称为Redis Cluster。即:将proxy/sentinel的工作融合到了普通Redis节点里。后面将介绍Redis Cluster这种模式下,水平拆分、故障转移等需求的实现方式。拓扑结构一个Redis ...

收录时间: 2018-08-13
分类: Redis
贡献者: Rector
AD 友情赞助