Redis基础(三)Redis持久化:RDB与AOF

什么是Redis持久化? Redis是键值对的内存数据库,它将数据存储在内存里。客户端发送命令到服务器,再由服务器到内存里查找数据。 一旦Redis服务器进程退出,存储在内存里的数据就会丢失。 为了解决这个问题,Redis提供了持久化机制,即将数据保存到磁盘里,以便Redis服务器进程初始化或重启后 ... »

Redis集群环境搭建实践

本文是Redis集群学习的实践总结(基于Redis 6.0+),详细介绍逐步搭建Redis集群环境的过程,并完成集群伸缩的实践。 ... »

Redis基础(二)数据库

数据库 Redis服务器的所有数据库都保存在redisServer.db数组中,而数据库的数量则由redisServer.dbnum属性保存。 struct redisServer { // .. // 一个数组,保存着服务器中的所有数据库 redisDb *db; // 服务器的数据库数量 int ... »

简简单单入个Redis的门

Redis介绍 Redis是一种key-value的存储系统,它是一种nosql(Not Only [SQL])非关系型的数据库,它支持string(字符串)、list(链表)、set(集合)、hash(哈希类型)和zset(sorted set --有序集合)数据类型,这些数据类型有着丰富的操作, ... »

Redis基础(一)数据结构与数据类型

Redis数据结构 Redis一共有六种数据结构,分别是简单动态字符串、链表、字典、跳表、整数集合、压缩列表。 简单动态字符串(SDS) Redis只会使用C字符串作为字面量,在大多数情况下,Redis使用SDS(Simple Dynamic String,简单动态字符串)作为字符串表示。 SDS的 ... »

Linux系统部署WEB项目(2020最新最详细)

2020最新Linux系统发行版ContOS7演示部署WEB项目 为防止操作权限不足,建议切换root用户,当然如果你对Linux命令熟悉,能够自主完成权限更新操作,可以不考虑此推荐。 更多命令学习推荐: 本次项目开发环境: MySQL5.7、JDK1.8、Maven3.6、Tomcat9.x、SS ... »

Redis基础——剖析基础数据结构及其用法

这是一个系列的文章,打算把Redis的基础数据结构、高级数据结构、持久化的方式以及高可用的方式都讲一遍,公众号会比其他的平台提前更新,感兴趣的可以提前关注,「SH的全栈笔记」,下面开始正文。 如果你是一个有经验的后端或者服务器开发,那么一定听说过Redis,其全称叫Remote Dictionary ... »

Linux系统安装Redis(2020最新最详细)

2020最新Linux系统发行版ContOS7演示安装Redis 为防止操作权限不足,建议切换root用户,当然如果你对Linux命令熟悉,能够自主完成权限更新操作,可以不考虑此推荐。 更多命令学习推荐: Linux安装JDK分为两种:手动安装和yum安装。 1、下载Redis安装程序包 Redis ... »

Redis Hashes 数据类型简述

Redis Hashes 是我们日常使用中比较高频的 Redis 数据类型,内部使用 Redis 字典结构存储,底层基于哈希表结构实现。 下面从哈希表节点,哈下表结构,Redis 字典,Redis 字典元素操作,Redis rehash 几点来简要概述。 一、Redis 哈希表节点 Redis 内部 ... »

Redis 字典结构细谈

Redis 字典底层基于哈希表实现。 一、哈希表结构 1、dictht: typedef struct dictht { dictEntry **table; //哈希表数组,存储具体的键值对元素,对象类型 dictEntry unsigned long size; //哈希表容量 unsigned ... »

深入了解Redis(7)-缓存穿透,雪崩,击穿

redis作为一个内存数据库,在生产环境中使用会遇到许多问题,特别是像电商系统用来存储热点数据,容易出现缓存穿透,雪崩,击穿等问题。所以实际运用中需要做好前期处理工作。 一、缓存雪崩 1、概念 缓存雪崩,是指在某一个时间段,缓存集中过期失效。其实这个挺好理解的,举个例子,假如我们把首页的热点数据都设 ... »

手把手教你AspNetCore WebApi:缓存(MemoryCache和Redis)

前言 这几天小明又有烦恼了,系统上线一段时间后,系统性能出现了问题,马老板很生气,叫小明一定要解决这个问题。性能问题一般用什么来解决呢?小明第一时间想到了缓存。 什么是缓存 缓存是实际工作中非常常用的一种提高性能的方法。 缓存可以减少生成内容所需的工作,从而显著提高应用程序的性能和可伸缩性。 缓存最 ... »

Redis 客户端 Jedis、lettuce 和 Redisson 对比

Redis 支持多种语言的客户端,下面列举了部分 Redis 支持的客户端语言,大家可以通过官网查看 Redis 支持的客户端详情。 C语言 C++ C# Java Python Node.js PHP Redis 是用单线程来处理多个客户端的访问,因此作为 Redis 的开发和运维人员需要了解 R ... »

Redis 的完整安装过程

Windos 版本安装 Redis 官方并不支持 Window 版本,但是微软公司在 Github 上维护了一个 Windows 版本的 Redis 项目,供 Windows 用户下载使用。 下载地址是:https://github.com/dmajkic/redis/downloads。 下载完之 ... »

Redis GEO 功能使用场景

本文来源:https://www.dazhuanlan.com/2020/02/05/5e3a0a3110649/ 背景 前段时间自己在做附近直播相关业务,其中有一个核心的点就是检索用户附近的主播,也是主要召回池。针对业务场景的特殊性,最后决定使用Redis的GEO技术来完成这个功能。主要考虑点在于 ... »

Redis 中 HyperLogLog 的使用场景

什么是基数估算 HyperLogLog 是一种基数估算算法。所谓基数估算,就是估算在一批数据中,不重复元素的个数有多少。 从数学上来说,基数估计这个问题的详细描述是:对于一个数据流 {x1,x2,...,xs} 而言,它可能存在重复的元素,用 n 来表示这个数据流的不同元素的个数,并且这个集合可以表 ... »

解Bug之路-记一次线上请求偶尔变慢的排查

解Bug之路-记一次线上请求偶尔变慢的排查 前言 最近解决了个比较棘手的问题,由于排查过程挺有意思,于是就以此为素材写出了本篇文章。 Bug现场 这是一个偶发的性能问题。在每天几百万比交易请求中,平均耗时大约为300ms,但总有那么100多笔会超过1s,让我们业务耗时监控的99.99线变得很尴尬。如 ... »

Redis 中 BitMap 的使用场景

BitMap BitMap 原本的含义是用一个比特位来映射某个元素的状态。由于一个比特位只能表示 0 和 1 两种状态,所以 BitMap 能映射的状态有限,但是使用比特位的优势是能大量的节省内存空间。 在 Redis 中,可以把 Bitmaps 想象成一个以比特位为单位的数组,数组的每个单元只能存 ... »

「Redis」字符串

原文链接:https://www.changxuan.top/?p=1109 简介 Redis 中自定义的字符串结构。 字符串是 Redis 中最常用的一种数据类型,在 Redis 中专门封装了一个字符串结构体——简单动态字符串(Simple Dynamic String, SDS)。其结构体如下: ... »

Redis 中的事务

Redis 事务简介 稍微了解 Redis 的朋友都知道,Redis 也提供了事务功能。但是 Redis 的事务和我们平时熟悉的关系型数据库中的事务是有区别的。 Redis 事务的本质是一组命令的集合:一个事务中所有命令都会被序列化到一个队列中,在事务执行过程,会按照顺序串行执行队列中的命令,这些命 ... »