业务redis

Redis——底层和数据结构

数据结构 简单动态字符串SDS 可以认为在Redis中所有的东西最终都是字符串。Redis是C语言实现的,但是Redis没有直接使用C语言中的字符串,C语言字符串是字符数组实现的,存在很多问题: 1、获取字符串的长度需要运算,时间复杂度达到O(n)。 2、非二进制安全,无法保存\0字符(被识别成结束 ......
数据结构 底层 结构 数据 Redis

Redis——基本使用

五种数据类型 Redis是一个基于内存的数据库。是一个key-value的数据库,key一般是String类型,value的类型多种多样。 字符串String SET name zhangxiancheng //redis中默认都是使用字符串来存储数据的 DEL key//删除 EXISTS key ......
Redis

redis-cluster nodes命令信息说明

集群定义 1.1 每个字段的含义如下: 1. id: 节点ID,一个40字节的随机字符串,节点创建时生成,且不会变化(除非使用CLUSTER RESET HARD命令)。 2. ip:port: 客户端访问的地址。 3. flags: 逗号分隔的标记位,可能值有:myself, master, sl ......
redis-cluster 命令 cluster redis nodes

自己做的 无业务代码!

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document< ......
代码 业务

为什么redis使用单线程——简单说下

redis使用单线程主要原因第一个,每条命令都是原子操作,单线程能够保证原子性。第二个原因,如果设计为多线程,肯定存在锁的竞争导致锁的获取释放开销,线程切换的开销,这与我们使用redis是相违背的。尽管redis设计为单线程,但是他的性能很高,主要原因是基于内存,以及pipeline机制都能保证re ......
线程 redis

Redis学习之秒杀业务

秒杀业务的核心流程是:判断日期和库存、扣减库存、创建订单 如下图: 注意,秒杀库存信息和商品信息最好是独立的两张表,不要放在一起影响性能。 @Resource private ISeckillVoucherService seckillVoucherService; ​ @Resource priv ......
业务 Redis

造轮子之统一业务异常处理

异常处理也是我们必不可少的一环,借助Asp.netCore的UseExceptionHandler中间件,我们可以很轻易的配置我们的业务异常处理逻辑。 自定义业务异常类 首先我们定义一个业务异常类,继承Exception,添加一个Code状态码属性,和MessageData数组,这个数组用于Form ......
轮子 业务

Spring、Redis相关知识查漏补缺

动态web页面不具有动态性 × 静态web页面不具有交互性 √ 事务隔离级别是数据库自带的与Spring无关 √ Spring自己实现了—套与数据库无关的事务机制 × 软件框架是面向某个领域的、可复用的半成品软件 √ 使用软件框架的优势是开发的灵活性和扩展性更好 × 拦截器可以拦截所有请求(包括静态 ......
知识 Spring Redis

redis(二)

一、redis 高可用与集群 虽然Redis可以实现单机的数据持久化,但无论是RDB也好或者AOF也好,都解决不了单点宕机问题,即一旦单台redis服务器本身出现系统故障、硬件故障等问题后,就会直接造成数据的丢失,因此需要使用另外的技术来解决单点问题。 1.1. 主备模式(master/slave) ......
redis

Redis分布式锁

简述 利用Redis的Setnx命令,来实现一个分布式的加锁方案。利用注解,在拥有该注解的方法上,进行切面处理,在方法执行前,进行加锁,执行结束后,根据是否自动释放锁,进行解锁。 将该注解用在定时任务的方法上,即可实现分布式定时任务,即获取到锁的方法,才会执行。 1 redis命令 1.1 setn ......
分布式 Redis

基于Spring事件驱动模式实现业务解耦

事件驱动模式 举个例子🌰 大部分软件或者APP都有会有会员系统,当我们注册为会员时,商家一般会把我们拉入会员群、给我们发优惠券、推送欢迎语什么的。 值得注意的是: 注册成功后才会产生后面的这些动作; 注册成功后的这些动作没有先后执行顺序之分; 注册成功后的这些动作的执行结果不能互相影响; 传统写法 ......
解耦 模式 事件 业务 Spring

编译安装redis

#安装依赖包 [root@centos7 ~]#yum -y install gcc jemalloc-devel #下载源码 [root@centos7 ~]#wget http://download.redis.io/releases/redis-5.0.7.tar.gz [root@cento ......
redis

Redis Cluster扩、缩容

1、Redis Cluster扩容(Redis 5为例) 因公司业务发展迅猛,现有的三主三从的redis cluster架构可能无法满足现有业务的并发写入需求,因此公司紧急采购两台服务器10.0.0.68,10.0.0.78,需要将其动态添加到集群当中,但不能影响业务使用和数据丢失。 注意: 生产环 ......
Cluster Redis

redis服务配置文件详解

bind 0.0.0.0 #监听地址,可以用空格隔开后多个监听IP protected-mode yes #redis3.2之后加入的新特性,在没有设置bind IP和密码的时候,redis只允许访问127.0.0.1:6379,可以远程连接,但当访问将提示警告信息并拒绝远程访问 port 6379 ......
服务配置 文件 redis

Redis数据类型和应用场景

一、Redis常用的5种数据类型 字符串(String):最基本的数据类型,可以存储字符串、整数或浮点数。 哈希(Hash):键值对的集合,可以在一个哈希数据结构中存储多个字段和值。 列表(List):按照插入顺序存储一组有序的值,可以在列表的两端执行插入、删除和访问操作。 集合(Set):无序的唯 ......
场景 类型 数据 Redis

一款Redis可视化工具:ARDM | 京东云技术团队

出众的软件有很多,适合自己的才是最好的。 Another Redis Desktop Manager 🚀🚀🚀 更快、更好、更稳定的Redis桌面(GUI)管理客户端,兼容Windows、Mac、Linux,性能出众,轻松加载海量键值 🇨🇳Windows • 可以在github 或者 git ......
团队 工具 Redis 技术 ARDM

RocketMQ 中订阅关系 按照业务分类合理拆分主题

小结: 1、 流式操作语义 Apache RocketMQ 基于队列的存储模型可确保消息从任意位点读取任意数量的消息,以此实现类似聚合读取、回溯读取等特性,这些特性是RabbitMQ、ActiveMQ等非队列存储模型不具备的。 2、 Apache RocketMQ 队列模型和Kafka的分区(Par ......
业务分类 RocketMQ 业务 主题

redis 介绍

1. redis 概览 Redis和Memcached是非关系型数据库也称为NoSQL数据库,MySQL、Mariadb、SQL Server、PostgreSQL、Oracle 数据库属于关系型数据(RDBMS, Relational Database Management System) Red ......
redis

基于redis5的redis cluster部署

1.创建 redis cluster集群的环境准备 1.1.#每个redis 节点采用相同的相同的redis版本、相同的密码、硬件配置;所有redis服务器必须没有任何数据;准备六台主机,地址如下: 10.0.0.150 10.0.0.160 10.0.0.170 10.0.0.180 10.0.0 ......
redis cluster redis5

简述redis特点及其应用场景

1、Redis 特点 1.1.速度快: 10W QPS,基于内存,C语言实现,而众所周知,C语言是“距离”操作系统最近的的编程语言,执行速度快 1.2.单线程:Redis采用了单线程的架构,避免了多线程的资源竞争问题 1.3.简单: 代码短小精悍(单机核心代码只有23000行左右),单线程开发容易, ......
场景 特点 redis

简述redis集群的实现原理

为了解决单机性能的瓶颈,提高Redis 性能,可以使用分布式集群的解决方案 1. 所有Redis节点使用(PING机制)互联 2. 集群中某个节点的是否失效,是由整个集群中超过半数的节点监测都失效,才能算真正的失效 3. 客户端不需要proxy即可直接连接redis,应用程序中需要配置有全部的red ......
集群 原理 redis

实现redis哨兵,模拟master故障场景

1.概述 在哨兵(sentinel)机制中,可以解决redis高可用问题,即当master故障后可以自动将slave提升为master,从而可以保证redis服务的正常使用。 2.哨兵的实现 哨兵的前提是已经实现了一个redis的主从复制的运行环境,从而实现一个一主两从基于哨兵的高可用redis架构 ......
哨兵 故障 场景 master redis

对比redis的RDB、AOF模式的优缺点

1.RDB模式优缺点 1.1.RDB 模式优点 1.1.1.RDB快照保存了某个时间点的数据,可以通过脚本执行redis指令bgsave(非阻塞,后台执行)或者save(会阻塞写操作,不推荐)命令自定义时间点备份,可以保留多个备份,当出现问题可以恢复到不同时间点的版本,很适合备份,并且此文件格式也支 ......
优缺点 模式 redis RDB AOF

redis配置类

EncodeImgUtil类: package com.dtinone.springbootredis.utils; import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; import java.io.*; /** * 图片编码工 ......
redis

PHP操作redis

一、安装PHP的redis扩展 1)PHP的redis扩展有2个,分别是phpredis和predis扩展; phpredis是PHP官方推荐的,是C写的; predis使用的原生的PHP代码实现的一套Redis-client程序,可以不用安装任何扩展,只引入php代码就可以很方便的使用redis。 ......
redis PHP

Redis项目搭建

Redis项目搭建 Redis下载 搭建redis首先需要下载Redis,可是Redis官方并没有Windows安装,好在网上从不缺大牛,Github上可以找到Redis的Windows版 下载地址:https://github.com/tporadowski/redis/releases (网速很 ......
项目 Redis

PHP-redis中文文档

phpredis是php的一个扩展,效率是相当高有链表排序功能,对创建内存级的模块业务关系 很有用;以下是redis官方提供的命令使用技巧: 下载地址如下: https://github.com/owlient/phpredis(支持redis 2.0.4) Redis::__construct构造 ......
PHP-redis 文档 redis PHP

Redis的学习

一、概述 Redis是什么?what?Redis(Remote Dictionary Server ),即远程字典服务 !是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 redis会周期性的把更新的数据写入磁盘或者把修 ......
Redis

Redis

Redis 特点 性能极高 原子性 支持事务 支持消息/订阅模式 支持key过期时间特性 支持多种数据结构 支持持久化 支持主从复制 支持集群 官方仅支持Linux系统 应用场景 数据缓存应用(最多使用) 热点数据: 数据库中数据被访问的频率是不均匀的,频繁被访问的数据称为热点数据((Hot Spo ......
Redis

Redis知识点

resis是基于内存的,所有速度很高 数据库的发展:网状数据库,层次数据库,关系数据库 关系数据库的不足: 1.不能有效处理多维数据 2.高并发读写性能低 3.存储数据容量有限 4.数据扩展性和可用性低 NoSQL的三大优势:易扩展,大容量,高性能 NoSql与MySQL之间互补 Redis是一款基 ......
知识点 知识 Redis