redis core net

十三、Redis并发竞争问题

多客户端同时并发写一个key,可能本来应该先到的数据后到了,导致数据版本错了。或者是多客户端同时获取一个key,修改值之后再写回去,只要顺序错了,数据就错了 首先使用分布式锁,确保同一时间,只能有一个系统实例在操作某个key 然后修改key的值时,要先判断这值的时间戳是否比缓存里的值的时间戳更靠后, ......
问题 Redis

十一、Redis扩容如何保证哈希一致性

横向扩容,保证哈希一致性 一致性哈希将整个哈希值空间组织成一个虚拟的圆环,如假设某哈希函数H的值空间为0-2^32-1(即哈希值是一个32位无符号整形) 下一步将各个服务器使用Hash进行一个哈希,具体可以选择服务器的ip或主机名作为关键字进行哈希,这样每台机器就能确定其在哈希环上的位置 接下来使用 ......
一致性 Redis

六、Redis缓冲区

Redis缓冲区有两个应用场景: 在客户端和服务器端之间进行通信时,用来暂存客户端发送的命令数据,或者是服务器端返回给客户端的数据结果; 主从节点间进行数据同步时,用来暂存主节点接收的写命令和数据 客户端缓冲区 是为了解决客户端和服务端请求和处理速度不匹配问题的,它又分为输入和输出缓冲区。 输入缓冲 ......
缓冲区 Redis

七、如何保证 Redis 中的数据不丢失

单机单节点模式使用 AOF 和 RDB 结合的方式 RDB 做镜像全量持久化,AOF 做增量持久化。因为 RDB 会耗费较长时间,不够实时,在停机的时候会导致大量丢失数据,所以需要 AOF 来配合使用。 Redis 集群模式 1、master 节点持久化 2、Redis断点续传:主从复制过程中,如果 ......
数据 Redis

五、Redis内存消耗

从性能上来说,内存占用过高会引起Reids响应变慢 从高可用上来说,内存过大可能会会引起部分数据丢失,故障恢复变慢 Redis内存消耗主要在于其主进程消耗和子进程消耗。而主进程消耗又主要包括自身内存、对象内存、缓冲区内存、内存碎片五个方面 1、自身内存 指Redis进程自身所占用的内存,这部分内存通 ......
内存 Redis

redis应用场景--记录文章,图文,或者视频的浏览次数

在阅读博客文章时,你可以看到一篇文章被阅读的次数,如果使用mysql, 那么在设计article表时,就必须设置一个view_count字段来记录这篇文章被阅读的次数。 但这种方式相比于使用redis,并不是一种好的办法,原因在于,每次更新view_count字段的值都是一个比较费力的过程。 首先, ......
场景 次数 图文 文章 redis

org.springframework.data.redis.RedisSystemException: Redis exception; nested exception is io.lettuce.core.RedisException: java.io.IOException: Connection reset by peer

springBoot + redis. 程序隔一段时间会莫名其妙的报Redis的错误. 报错如下: org.springframework.data.redis.RedisSystemException: Redis exception; nested exception is io.lettuce ......

redis应用场景--实现布隆过滤器

简述布隆过滤器的实现思路: 假设有一个长度为n的比特数组,bit_array,数组里的每一位都是0,对于一个url或者是其他数据,使用hash算法计算出url的散列值,这个散列值当然是一个整数,暂且命名为index,index=index%n,确保index的值小于n,查看bit_array[ind ......
过滤器 场景 redis

redis应用场景--游戏排行榜

有序集合也是集合,不同之处在于,集合里的元素可以附带这个分数,元素不能重复,但是分数可以重复,不仅如此,还可以根据分数进行排序。 很多游戏都有玩家得分的排行榜,这个排行榜随时处于变动中。 游戏有很多玩家,可以设计一张表,记录每一个玩家的分数,并根据玩家新一局的分数来更新这张表,当需要获取排行榜前10 ......
场景 排行榜 redis

redis 基本数据类型

所有数据都以唯一 key 字符串作为名称,而 value 只是数据类型的差异。所以,针对 key 的命令都是通用的。 方便演示,采用 docker 镜像,可以选择 redis:latest 镜像,这里我选择了带布隆过虑器的 redis 镜像。 docker run -p 6379:6379 --na ......
类型 数据 redis

redis应用场景--缓存过期时间

缓存可以有效的提高关键数据的获取速度,使得不必要每次查询数据库,避免了数据库被击穿。 主动更新: 需要知道这份数据的实效时间点,然后在那个时间点到来时重新更新数据,可能是查询数据库,也可能是访问第三接口,在获得数据之后,更新redis缓存。 被动更新: 程序每次都去redis获取数据,但对这份数据设 ......
缓存 场景 时间 redis

python操作redis--pipeline

如何使用pipeline: from redis.client import Redis conn = Redis(host="0.0.0.0",port=6379,db=0,password="") with conn.pipeline() as p: for i in range(100): p ......
pipeline python redis

net-core-PeriodicTimer

一 在.NET 6中引入了新Timer:System.Threading.PeriodicTimer,它和之前的Timer相比,最大的区别就是新的PeriodicTimer事件处理可以方便地使用异步,消除使用callback机制减少使用复杂度。 public class BackgroundTask ......

.NET代码审计XSS篇-Html.Raw

在.NET MVC项目中,默认创建的视图,都是以cshtml为后缀的Razor视图,这种视图通常以.cshtml文件扩展名,Razor视图引擎对自动对输出的内容进行HTML编码,这些字符会被编码成HTML实体,如图1 如果确实某些场景需要在视图中显示原始HTML内容,而不进行HTML编码,可以使用H ......
代码 Html NET XSS Raw

Python+Redis学习笔记

首先,通过pip来安装操作redis的相关包,pip install redis 然后导入我们要使用的模块,form redis.Client import Redis 然后,通过docker启动redis, from redis.client import Redis r = Redis(host ......
笔记 Python Redis

net core -Lock

一 读写锁 public async Task<byte[]> GetAsync(string key, CancellationToken token = new CancellationToken()) { _cacheLock.EnterReadLock(); try { return awa ......
core Lock net

requests:一个比net/http包更简洁、高效的开源包

今天给大家推荐一个高效的HTTP的请求包:carlmjohnson/requests。项目地址是:https://github.com/carlmjohnson/requests 该包诞生的背景 作者在自己的博客中描述了自己为什么写这个request包。作者这样描述go的net/http包: Go的 ......
requests http net

redis主从、哨兵、cluster

在redis集群中,从节点一般用于备份操作,主节点挂了,从节点顶上去,读写操作一般都是主读主写。 # 主从架构 用处:用于数据备份操作,主节点挂了之后可以有备份节点顶上去当主节点。 缺点:主节点挂了需要手动切换从节点为主节点 ......
主从 哨兵 cluster redis

net sha256加密 base64编码

byte[] SHA256Data = Encoding.UTF8.GetBytes(sign_origin.ToString()); var Sha256 = new SHA256Managed(); byte[] Result = Sha256.ComputeHash(SHA256Data); ......
编码 base net 256 sha

.NET周报 【6月第1期 2023-06-04】

## 专题 - NanoFramework项目案例 如果有时间,我会在周报中加入一些专题和项目案例的分享,本周就是讨论.NET NanoFramework项目案例的专题,在讨论 NanoFramework 的典型案例之前,让我们先回顾一下 .NET 在嵌入式领域的历史。 2007年,.NET Mic ......
周报 2023 NET 06 04

【Redis】【缓存】数据库和缓存如何保证一致性?

1 前言 通常针对服务器的访问速度越来越差,基本性能瓶颈是在数据库,那么我们通常会给服务器加上 Redis,让其作为数据库的缓存或者本地缓存,这样,在客户端请求数据时,如果能在缓存中命中数据,那就查询缓存,不用在去查询数据库,从而减轻数据库的压力,提高服务器的性能。 缓存无非就是对数据的一份Copy ......
缓存 一致性 数据库 数据 Redis

EF Core 使用教程

**视频链接:**[.NET 6教程,.Net Core 2022视频教程,杨中科主讲_哔哩哔哩_bilibili](https://www.bilibili.com/video/BV1pK41137He/?spm_id_from=333.999.0.0&vd_source=5b692e5de6bc ......
教程 Core EF

.Net 6使用Hangfire(二)

本文主要介绍如何使用已配置好的HangFire来执行作业调度。 1、Fire-and-forget 即发即弃 立即调用作业并且只执行一次; 当我们调用Hangfire.BackgroundJob.Enqueue的时候,并不是立即调用传入的方法,它会执行以下的几个步骤: ①把作业信息(传入的方法和方法 ......
Hangfire Net

ASP.NET Core MVC 从入门到精通之Html辅助标签(一)

经过前几篇文章的讲解,初步了解ASP.NET Core MVC项目创建,启动运行,以及命名约定,创建控制器,视图,模型,接收参数,传递数据ViewData,ViewBag,路由,页面布局,wwwroot和客户端库,Razor语法,EnityFrameworkCore与数据库,HttpContext,... ......
标签 Core Html ASP NET

Redis五大数据类型以及常用命令

# Redis五大数据类型以及常用命令 ## redis常用五大数据类型 > String (字符串)、List(列表)、Hash(哈希表)、Set(无序集合)、Zset(有序集合) ## redis数据库常见使用命令 - redis-server : redis服务器启动命令 - redis-cl ......
命令 常用 类型 数据 Redis

2023-06-07:Redis 持久化方式有哪些?以及有什么区别?

2023-06-07:Redis 持久化方式有哪些?以及有什么区别? 答案2023-06-07: Redis提供了两种持久化机制:RDB和AOF。 ### RDB ![在这里插入图片描述](https://img-blog.csdnimg.cn/09732d99b3514fe8b725e43c9eb ......
方式 Redis 2023 06 07

Redis 消息的发布与订阅

## 1. Redis 发布订阅 ### 1.1. Redis 发布订阅的简介 ```Redis``` 发布订阅```(pub/sub)```是一种消息通信模式:```发送者(pub)```发送消息,```订阅者(sub)```接收消息。Redis 客户端可以订阅任意数量的频道。 ### 1.2. ......
消息 Redis

每个 ASP.NET 开发人员都应该知道的 IIS 管道中的 HTTP 请求生命周期事件

![](https://img2023.cnblogs.com/blog/699074/202306/699074-20230607173742257-1367510520.png) 原文:https://www.dotnetcurry.com/aspnet/747/http-request-lif ......
管道 周期 事件 生命 人员

.net低代码开发平台 快速实现组织架构数字化

在数字化时代,企业面临着巨大的转型挑战。数字化赋予了企业极大的流程优化和高效性,提供了以前难以想象的效率。数字化让企业可以通过机器学习、大数据、自动化流程等手段,实现更快、更精确的决策和反应性。其中,企业组织架构数字化尤为重要。 数字化转型是企业的整体转型,是对企业业务模式的重塑、组织架构的重组、业 ......

Backtrader - numpy.core._exceptions.MemoryError: Unable to allocate 77.2 GiB for an array with shape (10368000003,) and data type float64

1.0 Error numpy.core._exceptions.MemoryError: Unable to allocate 77.2 GiB for an array with shape (10368000003,) and data type float64 錯誤提示 2.0 原因 沒有任 ......