Redis
文章平均质量分 76
Chasel_H
记录学习
展开
-
Redis数据结构——跳跃表
0、简介zset的编码有压缩链表和跳跃表两种。除了当zset保存的元素少于128个或保存的所有元素大小都小于64字节时使用压缩链表,其余情况都是使用跳跃表跳跃表,又称跳表是Redis提供的有序集合(zset)类型主要的底层的数据结构。typedef struct zset { dict *dict; zskiplist *zsl; //跳跃表结构:zskiplist} zset;1、什么是跳跃表?跳跃表(skiplist)是一种有序数据结构,它通过在每个节点中维持多个指原创 2021-09-27 17:22:55 · 612 阅读 · 0 评论 -
详解Redis数据结构——字典
字典,又称映射(map),是一种保存键值对的抽象数据结构。这种数据结构是内置在很多高级语言中,但是Redis所使用的C语言并没有内置这种数据结构,因为Redis构建了自己的字典实现。Redis数据库就是使用字典来作为底层实现的,对数据库的增。删、差、改操作也是构建在对字典的操作之上的。一、字典的实现Redis的字典是使用哈希表作为底层实现的,一个哈希表里可以有多个哈希表节点,而每个哈希表节点就保存了字典中的一个键值对。1、哈希表typedef struct dictht { //哈希..原创 2021-09-26 17:32:46 · 972 阅读 · 0 评论 -
Redis之简单动态字符串SDS
前一段时间看了《Redis设计与实现》终于了解了Redis底层数据结构的实现原理,最近空闲想自己总结一遍记录下来我们都知道redis是由C语言编写的键值对数据库,所以我们很容易就会猜想redis最常用数据结构之一字符串就是C语言中传统的字符串类型,但实际上在redis中,C字符串只会在用在字面量时被使用,其余大多数情况下,redis是使用了自己构建的一个名为简单动态字符串(SDS)的类型。1、SDS的定义struct sdshdr { //记录buf数组中已使用字节的数量,即SDS所保.原创 2021-09-25 18:08:23 · 125 阅读 · 0 评论 -
Redis持久化之AOF日志
一、Redis为什么要实现持久化我们知道使用Redis,读写数据的速度都很快是因为数据存储在内存中,但是正是因为数据存储在内存中,所以我们无可避免要面对一个问题:一旦服务器宕机,内存中的数据将会全部丢失。二、Redis如何实现数据的持久化——AOF日志当我们把Redis用作缓存的时候,服务器宕机了,我们还可以从后端数据库恢复数据,但是当我们把Redis直接用作数据库的时候,我们就没办法通过后端数据库恢复了,所以此时我们就需要通过另外的方式来实现数据的持久化。1、如何用AOF日志实现数据持久化原创 2021-03-07 23:10:41 · 456 阅读 · 0 评论 -
golang的Redis客户端-Redigo
1、使用go get 下载redigo相关的包先下载redigo相关的包:go get github.com/garyburd/redigo/redis2、实践demo然后通过func Dial(network, address string, options ...DialOption) (Conn, error)可以连接到redis服务端,以下是个人写的一个小demo:package mainimport ( "fmt" "github.com/garyburd/redigo/red原创 2021-03-04 18:42:17 · 433 阅读 · 1 评论 -
Redis支持哪些数据类型?
Redis 数据类型Redis支持的数据类型主要有五种:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。1、String(字符串)string是redis最基本的类型,一个key对应一个value。string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。string类型是Redis最基本的数据类型,一个键最大能存储512MB。2、Hash(哈希)hash原创 2021-03-04 16:26:10 · 9535 阅读 · 2 评论 -
Redis的安装、启动以及客户端连接
一、Redis的安装Mac OS X(使用Homebrew安装Redis)本人使用的是Mac OS X系统,在mac上很多软件都是使用homebrew来安装的,所以没有安装homebrew请自行安装然后在终端执行命令:brew install redis然后就会出现一下安装进度提示:==> Downloading https://download.redis.io/releases/redis-6.0.8.tar.gz##################################原创 2021-01-02 21:09:27 · 603 阅读 · 0 评论 -
为什么Redis会被广泛应用?
参考菜鸟教程以及慕课网的一站式学习Redis课程一、什么是Redis?Redis是一个key-value存储系统。是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。二、Redis的特性速度快支持数据持久化支持多种数据结构支持多种编程语言功能丰富简单主从复制高可用、分布式1、速度快Redis能读的速度是110000次/s,写的速度是81000次/s 。为什么速度快?答:主要是因原创 2021-01-02 16:00:24 · 386 阅读 · 0 评论