高性能高并发网站架构,教你搭建Redis5缓存集群

一、Redis集群介绍 Redis真的是一个优秀的技术,它是一种key-value形式的NoSQL内存数据库,由ANSI C编写,遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 Redis最大的特性是它会将所有数据都放在内存中,所以读写速度 ... »

Redis 学习笔记(篇三):跳表

跳表 跳表(skiplist)是一种有序的数据结构,是在有序链表的基础上发展起来的。 在 Redis 中跳表是有序集合(sort set)的底层实现之一。 说到 Redis 中的有序集合,是不是和 Java 中的 TreeMap 很像?都是有序集合。 那么: 为什么会出现跳表这种数据结构呢? 跳表的 ... »

redis的五种数据类型及应用场景

前言 redis是用键值对的形式来保存数据,键类型只能是String,但是值类型可以有String、List、Hash、Set、Sorted Set五种,来满足不同场景的特定需求。 本博客中的示例不是将控制台作为redis的一个客户端,而是将redis运用在java里进行测试 需要有java red ... »

Redis 学习笔记篇二:字典

字典 字典又称为符号表、关联数组或映射(map),是一种用于保存键值对(key value)的数据结构。 那么 C 语言中有没有这样 key value 型的内置数据结构呢? 答案:没有。 说起键值对,是不是想到了 Java 中的 Map?Java中的 Map 实现有两个:HashMap 和 Tre ... »

SpringBoot + Redis:基本配置及使用

注:本篇博客SpringBoot版本为2.1.5.RELEASE,SpringBoot1.0版本有些配置不适用 一、SpringBoot 配置Redis 1.1 pom 引入spring-boot-starter-data-redis 包 1.2 properties配置文件配置redis信息 默认 ... »

Redis删除特定前缀key的优雅实现

还在用keys命令模糊匹配删除数据吗?这就是一颗随时爆炸的炸弹! Redis中没有批量删除特定前缀key的指令,但我们往往需要根据前缀来删除,那么究竟该怎么做呢?可能你一通搜索后会得到下边的答案 直接在linux下通过redis的 命令匹配到所有的key,然后调用系统命令xargs来删除,看似非常完 ... »

Redis 学习笔记(篇一):字符串和链表

本次学习除了基本内容之外主要思考三个问题:why(为什么)、what(原理是什么)、which(同类中还有哪些类似的东西,相比有什么区别)。 由于我对 java 比较熟悉,并且 java 中也有字符串和链表。所以本篇暂拿 redis 中的字符串和链表与 java 进行对比。 字符串 先看几个问题: ... »

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

[toc] 基于Redis消息的订阅发布应用场景 1.应用背景 在物联网采集管控系统中,前后端隔离的情况下,前端通过表单(比如按钮,开关,表格等)输入数据到数据库(比如MySql,通过WEBAPI服务端输入),然后采集控制端到数据库里去扫表取数据,将数据下发给物联网络中的终端设备(比如风扇控制板), ... »

RedisCluster如何实现Pipeline批量模式?

上一篇文章《 "redis pipeline批量处理提高性能" 》中我们讲到redis pipeline模式在批量数据处理上带来了很大的性能提升,我们先来回顾一下pipeline的原理,redis client与server之间采用的是请求应答的模式,如下所示: 在这种情况下,如果要完成10个命令, ... »

Redis学习笔记(一)— 基本命令和数据类型

MacOs环境 Redis基本命令 启动服务: 连接服务: 指定主机/IP 指定端口 指定密码 关闭服务:先 保存数据并关闭服务;再 退出服务 获取服务器信息 启动并连接服务之后,执行 或直接在shell中执行 参数指定要获取的某部分信息,例如 用来获取内存信息 Server:关于Redis服务器的 ... »

Redis数据存储结构之String

前言: 在Redis使用中,我们最常使用的操作是set key value,或 get key value 。这里面包含了redis最基本的数据类型:String,字符串类型是redis中最基本的类型,它能存储任何形式的字符串,包括二进制数据(JSON,Image...)。 大家有没有思考过redi ... »

redis取经之路

将会话和购物车都存储到Redis里面,这样可以减少请求的体积,还可以使得我们根据用户浏览过的上铺,用户放入购物车的商品,以及用户最终购买的商品进行统计计算。 实现:在查看过这件商品的用户当中,有X%的用户最终购买了这件商品, 购买了这件商品的用户也购买了某某某其他商品 等功能 ... »

Spring Boot 一个依赖搞定 session 共享,没有比这更简单的方案了!

有的人可能会觉得题目有点夸张,其实不夸张,题目没有使用任何修辞手法!认真读完本文,你就知道松哥说的是对的了! <! more 在传统的单服务架构中,一般来说,只有一个服务器,那么不存在 Session 共享问题,但是在分布式/集群项目中,Session 共享则是一个必须面对的问题,先看一个简单的架构 ... »

Swoole Redis 连接池的实现

概述 这是关于 Swoole 入门学习的第九篇文章:Swoole Redis 连接池的实现。 "第八篇:Swoole MySQL 的实现" "第七篇:Swoole RPC 的实现" "第六篇:Swoole 整合成一个小框架" "第五篇:Swoole 多协议 多端口 的应用" "第四篇:Swoole ... »

Redis 的主从复制(Master/Slave)

1. 是什么 行话:也就是我们所说的主从复制,主机数据更新后根据配置和策略自动同步到备机的 master/slave 机制,Master以写为主,Slave 以读为主 2. 能干嘛 数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式 故障恢复:当主节点出现问题时,可以由从节点提供服 ... »

MemCache与redis

以下内容为个人理解所得,如要转载,请标明出处: 像项目中首页的大广告和商品类目这些不需要经常修改的数据,如果用户每次刷新页面的时候都要去数据库中查询,这样会浪费资源和增加数据库的压力。 所以我们想当把这些数据添加到一个缓存中,用户去访问的时候,先去缓存中查找,如果命中失败,再去数据库中查询,然后把查 ... »

Redis的事务讲解

1. Redis事务的概念 是什么: 可以一次执行多个命令,本质是一组命令的集合。一个事务中的所有命令都会序列化,按顺序串行化的执行而不会被其他命令插入 能干嘛:一个队列中,一次性、顺序性、排他性的执行一系列命令 (要和pipeline区分开) Redis其实是部分支持事务: 因为事务的错误模式并不 ... »