业务redis

redis分布式锁

分布式锁是可以跨越多个实例,多个进程的锁。 一个tomcat实例是一个JVM进程,单体锁(synchronized、ReentrantLock)是JVM层面的锁,只能控制单个实例上的并发访问安全,多实例下依然存在数据一致性问题。 分布式锁:所有实例的所有线程都去获取同一把锁,但只有一个线程可以成功的 ......
分布式 redis

redis的持久化

################################ save [work@a8-cloud-dba-db08 ~]$ redis-cli -a root -p 6381127.0.0.1:6381> save OK save命令对应的日志: [work@a8-cloud-dba-db0 ......
redis

【问题排查篇】一次业务问题对 ES 的 cardinality 原理探究

小编工作中负责业务的一个服务端系统,使用了 Elasticsearch 服务做数据存储,业务运营人员反馈,用户在使用该产品时发现,用户后台统计的订单笔数和导出的订单笔数不一致!对此进行排查并进行总结 ......
问题 cardinality 原理 业务 ES

【Redis】-使用Lua脚本解决多线程下的超卖问题以及为什么?

一.多线程下引起的超卖问题呈现1.1.我先初始化库存数量为1、订单数量为0 1.2.开启3个线程去执行业务 业务为:判断如果说库存数量大于0,则库存减1,订单数量加1 结果为:库存为-2,订单数量为3 原因:如下图所示,这是因为分别有6个指令(3个库存减1指令,3个订单数量加1指令)在redis服务 ......
线程 脚本 问题 Redis Lua

laravel-permission 缓存导致的Redis带宽占用问题

先决条件 spatie/laravel-permission: 3.18.0 权限数: 634 角色数: 94 问题 laravel-permission 的缓存机制设计的不太合理 将所有的权限存放在一个大set中,且存放了许多不必要的信息。 当项目拥有大量的角色权限,使得这个set达到了11mb, ......

Linux 搭建redis集群(哨兵模式)

环境: 192.168.56.101 192.168.56.102 192.168.56.103 1、在三台服务器上都安装redis 安装步骤:https://www.cnblogs.com/leihongnu/p/14734603.html 2、配置主从 192.168.556.101:配置文件r ......
哨兵 集群 模式 Linux redis

ubuntu安装redis

首先下载安装redis,并测试是否安装正确 wget http://download.redis.io/releases/redis-6.0.8.tar.gz tar -zxvf redis-6.0.8.tar.gz cd redis-6.0.8 make make test 如果make失败,则需 ......
ubuntu redis

小程序:技术标准与业务生态的演变

众所周知的小程序,都知道其诞生地是微信。最开始的愿景,是希望通过自定义一套全新的界面开发模式,来实现将微信能力安全、可控的开放使用。与此同时,微信团队也希望能够通过小程序规避掉之前用 Web 开发会遇到的各种问题,比如渲染卡顿、加载白屏时间长等问题,提供类似于原生的体验、安全易用的微信数据开放、更多... ......
技术标准 生态 业务 标准 程序

配置docker启动的redis密码

一、配置docker启动的redis密码 在docker中通过命令进入redis容器 docker exec -it redis redis-cli 查看当前redis有没有设置密码:config get requirepass 127.0.0.1:6379> config get requirep ......
密码 docker redis

asp.net mvc项目中修改业务无关的代码为异步执行

将业务无关的逻辑,修改为异步执行,示例代码: public ActionResult SubmitOrder(Order order) { // Save the order to the database synchronously // Send email asynchronously usi ......
代码 业务 项目 asp net

springboot整合redis做简单缓存

一、引入依赖 <!-- 引入redis依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency ......
缓存 springboot redis

乐观锁 -业务判断 解决高并发问题

悲观锁:每次读写的时候讲数据加锁,不让别人访问,直到自己用完后释放。 缺点:是如果持有锁的时间太长,其他用户需要等待很长时间。 乐观锁:加一个版本(version)字段,每次讲版本读出,修改数据的时候对比下版本号是否一样。如果不一样放弃这次操作,重新读取再操作。 缺点:这种方式适合于冲突不多的场景, ......
业务 问题

使用StackExchange.Redis组件C#模糊删除模糊查找

C# StackExchange.Redis 模糊删除 模糊查找 /// <summary> /// 模糊查找 /// </summary> /// <param name="key"></param> public List<XJDataDll.Tag.Point> SelectTags(stri ......
StackExchange 组件 Redis

高级Java程序员必问,Redis事务终极篇

Redis事务(Transaction)通过将多个Redis操作封装为一个原子性的操作序列,确保在事务执行过程中,不会受到其他客户端的干扰。从而在保证数据一致性的同时,协调并发,提高数据操作的效率和性能 ......
程序员 终极 事务 程序 Redis

SpringBoot中策略模式+工厂模式业务实例(接口传参-枚举类查询策略映射关系-执行不同策略)规避大量if-else

场景 设计模式-策略模式在Java中的使用示例: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/127622238 上面讲了策略模式在Java中的使用示例。 下面看一个在SpringBoot中的实际使用示例。 业务场景: 有多个煤 ......
策略 模式 SpringBoot 实例 接口

redis多线程部分

前几天面试被问到除了redis6.0引入的网络io多线程,redis还有哪些部分使用了多线程。 当时只答出了redis的bgsave会通过fork子线程去写入RDB。 现在总结一下我目前查到的: 6.0针对网络IO引入了多线程 bgsave会通过fork子进程去写入RDB 通过bgrewriteao ......
线程 部分 redis

【IT老齐018】Redis高可用Sentinel架构方案

【IT老齐018】Redis高可用Sentinel架构方案 主从复制 master主要负责写入,slave负责读取。有读写分离的功能 主从同步原理 slave执行命令向master建立连接 master执行bgsave(后台存储),生成rdb快照(redis备份方式,data以二进制方式保存在本地) ......
架构 Sentinel 方案 Redis 018

Redis定长队列设计与实现

业务背景: 只展示最近10条礼物打赏动态,用户名+礼物名称 不管在app端还是在web端,或多或少都有这样的需求,所谓技术方案的选型都是受限于实际的业务场景的,都是以解决实际业务为目的,由于刚开始这样的需求还是比较少的,所以采用了简单的方式实现了功能,但是随着业务扩大,重复的也会很多,再写一套代码就 ......
队列 Redis

安装redis

服务器下执行cd /usr/local,进入到local文件中。执行mkdir redis 创建文件夹。 下载redis-6.0.6.tar.gz文件,当前目录执行 tar -xvf redis-6.0.6.tar.gz 将文件解压。 在b服务器安装gcc, centos:执行yum install ......
redis

【Redis】一次报错小记

背景 当时是这样子的,业务系统开发,当时主责开发一个模块,突然某一天,它就启动不了了, 报了一个错:ERR This instance has cluster support disabled (Redis的报错提示) 嗯,就是这个东西。很迷,一直都是好的,咋突然就不行了呢? 明明就没有用到 red ......
小记 Redis

redis+自定义注解+AOP实现接口幂等性防重复提交

1 自定义注解接口: import java.lang.annotation.*; @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface RepeatSubmit { ......
注解 接口 redis AOP

redis高级【汇总】

一、redis介绍(linux安装) 1 redis介绍 # 特性 Redis特性(8个) # 速度快:10w ops(每秒10w读写),数据存在内存中,c语言实现,单线程模型 # 持久化:rdb和aof # 多种数据结构: 5大数据结构 BitMaps位图:布隆过滤器 本质是 字符串 HyperL ......
redis

redis -【基础】

Redis 基础 1 Redis介绍与安装 1.1 介绍 Redis是缓存数据库,不仅仅可以做缓存,是【非关系型数据库NoSQL】,区别于MySQL【关系型数据】【表,外键,关系】 作用:用来存储数据,数据是存储在内存中的,取值和放值速度非常快,速度达到10w qps,也可以提高数据的并发量 # 版 ......
基础 redis

django-channel 配置 channel layer 添加redis的账号和密码

最近公司要使用django-channel搭建socket, 文档: https://channels.readthedocs.io/en/stable/introduction.html 文档里面并没有写如果redis有账号和密码的话,怎么配置。 配置方法: https://github.com/ ......
channel django-channel 账号 密码 django

redis集成

1、linux下源码安装redis 官网http://redis.io下载redis 解压 tar -zvsf redis-7.0.11.tar.gz 移动到usr/local路径下 mv redis-7.0.11 /usr/local/redis 进入redis文件夹 cd /usr/local/ ......
redis

我设计了个【方案】:比redis好10倍的kv库【一统kv】

基于ssd磁盘,此我设计了比redis更好的缓存方案。此方案:没有缓存击穿问题。没有缓存雪崩问题。没有缓存污染问题。没有热key问题。 不需要snap和aof。支持任何sql库,sql库不需要带有任何分布式功能。 ......
方案 redis

Linux安装部署Redis(超级详细)

原文链接:https://www.cnblogs.com/AllWjw/p/15771097.html 网上搜索了一筐如何在Linux下安装部署Redis的文章,各种文章混搭在一起勉强安装成功了。自己也记录下,方便后续安装时候有个借鉴之处。 Redis版本 5.0.4 服务器版本 Linux Cen ......
Linux Redis

建立redis的连接池

1、在配置文件中添加参数(application-dev.yml) redis: # *** 邮件发送服务器地址 host: 127.0.0.1 # *** 邮件发送服务器端口 port: 6379 # *** 提醒邮件发件人邮箱 timeout: 10000 2、建一个获取redis连接的工具类 ......
redis

SQLite3数据库的介绍和使用(面向业务编程-数据库)

SQLite3数据库的介绍和使用(面向业务编程-数据库) SQLite3介绍 SQLite是一种用C语言实现的的SQL数据库 它的特点有:轻量级、快速、独立、高可靠性、跨平台 它广泛应用在全世界范围内的手机电脑应用的内建数据库 官网地址:https://www.sqlite.org/index.ht ......
数据库 数据 SQLite3 业务 SQLite

python来操作redis用法详解

python来操作redis用法详解 1、redis连接 redis提供两个类Redis和StrictRedis用于实现Redis的命令,StrictRedis用于实现大部分官方的命令,并使用官方的语法和命令,Redis是StrictRedis的子类,用于向后兼容旧版本的redis-py。 redi ......
python redis