随笔分类 -  Redis

摘要:有时候我们希望监听某个key的删除或者其他事件,来做一些自己的业务操作。redis 的pub/sub 提供了这个能力。 参考官网:https://redis.io/topics/notifications 1. redis 服务端和客户端测试 redis 官网说了,默认的话事件通知是关闭的。如果需要 阅读全文
posted @ 2021-08-12 21:18 QiaoZhi 阅读(8612) 评论(2) 推荐(0) 编辑
摘要:1. 节衣缩食-位图 在平时的开发中,会有一些bool 型数据需要存取,比如用户的签到记录,签了是1,没签是0,要记录365天。如果使用普通的key/value,每个用户需要记录365个,当用户数上亿的时候,需要的存储空间非常大。 为了解决这个问题,Redis 提供了位图数据结构,每天的签到记录只占 阅读全文
posted @ 2021-06-27 16:49 QiaoZhi 阅读(542) 评论(2) 推荐(0) 编辑
摘要:之前研究过基于主从+分片实现的集群,现在研究下基于哨兵模式的集群模式。 Redis 集群模式: 1. 主从同步/复制 原理: (1) 从数据库连接主数据库,发送SYNC命令; (2) 主数据库接收到SYNC命令后,开始执行BGSAVE命令生成RDB文件并使用缓冲区记录此后执行的所有写命令; 同步快照 阅读全文
posted @ 2021-04-24 15:54 QiaoZhi 阅读(372) 评论(0) 推荐(0) 编辑
摘要:参考: https://redis.io/commands/eval 参考:https://redis.io/topics/ldb 1. redis-cli 命令行测试 命令如下:key 可以理解用于传键名称,而arg 用于传递其他参数 EVAL script numkeys key [key .. 阅读全文
posted @ 2021-03-14 15:04 QiaoZhi 阅读(4905) 评论(0) 推荐(1) 编辑
摘要:在之前的项目中分布式锁和限流是基于redis进行的,分布式锁基于setnx和expire命令实现,也可以基于lua脚本实现。限流是采用固定时间窗算法进行的。 最近了解到redisson这个工具类,而且基于其分布式锁的实现是比较常见的,简单研究下其使用。 官网:wiki地址 https://githu 阅读全文
posted @ 2021-02-01 18:45 QiaoZhi 阅读(24120) 评论(1) 推荐(5) 编辑
摘要:关于session共享的方式有多种: (1)通过nginx的ip_hash,根据ip将请求分配到对应的服务器 (2)基于关系型数据库存储 (3)基于cookie存储 (4)服务器内置的session复制域 (5)基于nosql(memcache、redis都可以) 常用的就是1和5,下面研究第5种方 阅读全文
posted @ 2019-02-14 18:36 QiaoZhi 阅读(32093) 评论(0) 推荐(3) 编辑
摘要:在学习了Redis做为消息队列之后研究 了redis聊天的功能。 其实用关系型数据库也可以实现消息功能,自己就曾经用mysql写过一个简单的消息的功能。RDB中思路如下: 1.Redis实现一对一的聊天功能(基于lpush和brpop实现) 简单的实现一个用户向另一个用户发送多条信息,实现的思路是: 阅读全文
posted @ 2018-10-14 00:58 QiaoZhi 阅读(7754) 评论(2) 推荐(1) 编辑
摘要:在项目中用到了redis作为缓存,再学习了ActiveMq之后想着用redis实现简单的消息队列,下面做记录。 Redis的列表类型键可以用来实现队列,并且支持阻塞式读取,可以很容易的实现一个高性能的优先队列。同时在更高层面上,Redis还支持"发布/订阅"的消息模式,可以基于此构建一个聊天系统。 阅读全文
posted @ 2018-10-09 23:06 QiaoZhi 阅读(153316) 评论(8) 推荐(31) 编辑
摘要:本文是继上次redis集群重新整理的离线搭建环境,关于前期的redis集群准备工作参考我另一篇博客: http://www.cnblogs.com/qlqwjy/p/8566573.html 由于集群搭建redis的安装环境甚是复杂,在这里新开一篇记录搭建安装环境的过程。 离线安装需要准备的软件:下 阅读全文
posted @ 2018-04-16 21:01 QiaoZhi 阅读(2533) 评论(0) 推荐(0) 编辑
摘要:MongoDB和Redis都是NoSQL,采用结构型数据存储。二者在使用场景中,存在一定的区别,这也主要由于二者在内存映射的处理过程,持久化的处理方法不同。 MongoDB建议集群部署,更多的考虑到集群方案,Redis更偏重于进程顺序写入,虽然支持集群,也仅限于主-从模式。 阅读全文
posted @ 2018-03-26 19:19 QiaoZhi 阅读(966) 评论(0) 推荐(0) 编辑
摘要:前几天在spring整合Redis的时候使用了手动的方式,也就是可以手动的向redis添加缓存与清除缓存,参考:http://www.cnblogs.com/qlqwjy/p/8562703.html 今天想的将spring注解整合Redis缓存弄明白,于是通过查阅资料,先做记录如下: 大致步骤如下 阅读全文
posted @ 2018-03-15 16:01 QiaoZhi 阅读(36855) 评论(4) 推荐(3) 编辑
摘要:前言 Redis 是我们目前大规模使用的缓存中间件,由于它强大高效而又便捷的功能,得到了广泛的使用。单节点的Redis已经就达到了很高的性能,为了提高可用性我们可以使用Redis集群。本文参考了Rdis的官方文档和使用Redis官方提供的Redis Cluster工具搭建Rdis集群。 注意 :Re 阅读全文
posted @ 2018-03-14 11:51 QiaoZhi 阅读(766) 评论(0) 推荐(0) 编辑
摘要:1.前言 Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。我们都知道,在日常的应用中,数据库瓶颈是最容易出现的。数据量太大和频繁的查询,由于磁盘IO性能的局限性,导致项目的性能越来越低。这时候,基于内存的缓存框 阅读全文
posted @ 2018-03-13 21:41 QiaoZhi 阅读(33196) 评论(2) 推荐(3) 编辑
摘要:SSM:是Spring+Struts+Mybatis ,另外还使用了PageHelper 前言: 这里主要是利用redis去做mybatis的二级缓存,mybaits映射文件中所有的select都会刷新已有缓存,如果不存在就会新建缓存,所有的insert,update操作都会更新缓存。(这里需要明白 阅读全文
posted @ 2018-03-13 13:29 QiaoZhi 阅读(20401) 评论(0) 推荐(1) 编辑
摘要:1.安装 下载地址:https://github.com/MSOpenTech/redis/releases。 Redis 支持 32 位和 64 位。这个需要根据你系统平台的实际情况选择,这里我们下载 Redis-x64-xxx.zip压缩包到 C 盘,解压后,将文件夹重新命名为 redis。 打 阅读全文
posted @ 2018-03-13 10:16 QiaoZhi 阅读(4987) 评论(0) 推荐(0) 编辑
摘要:当前redis版本:3.2.100 通常情况下我们可以通过 redis-server.exe 和配置文件启动redis服务 : redis-server.exe redis.windows.conf 另外开启一个命令行窗口 redis-cli.exe 即可做一些简单的操作命令行 但如果我们关闭控制台 阅读全文
posted @ 2018-03-13 09:45 QiaoZhi 阅读(2001) 评论(0) 推荐(0) 编辑
摘要:Redis简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。 Redis 与其他 key – value 缓存产品有以下三个特点: Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。 Redis不仅仅支持简单的key 阅读全文
posted @ 2017-12-14 22:44 QiaoZhi 阅读(387) 评论(0) 推荐(0) 编辑
摘要:1.安装 2.linux服务器中开启linux服务 3.可视化界面中创建连接: 4.可视化界面查看 阅读全文
posted @ 2017-11-08 19:11 QiaoZhi 阅读(4267) 评论(0) 推荐(0) 编辑
摘要:1.首先需要将redis的绑定地址为127.0.0.1去掉,同时将redis的保护模式去掉,并且开放6379端口。 如果是保护模式需要输入密码才能连接。 (1)去掉绑定地址: (2)去掉保护模式: (3)linux中开放6379端口 2.Java操作redis (1)导包: (2)基本的测试 (3) 阅读全文
posted @ 2017-11-08 11:43 QiaoZhi 阅读(369) 评论(0) 推荐(0) 编辑
摘要:一、特殊编码: 自从Redis 2.2之后,很多数据类型都可以通过特殊编码的方式来进行存储空间的优化。其中,Hash、List和由Integer组成的Sets都可以通过该方式来优化存储结构,以便占用更少的空间,在有些情况下,可以省去9/10的空间。 这些特殊编码对于Redis的使用而言是完全透明的, 阅读全文
posted @ 2017-11-08 00:02 QiaoZhi 阅读(199) 评论(0) 推荐(0) 编辑