2021-04-21 redis-五种数据结构

如何在 Ubuntu 24.04 或 22.04 Linux 上安装和运行 Redis 服务器 本文介绍了在Ubuntu 24.04上安装配置Redis服务器的完整流程。Redis是一种开源的内存数据结构存储,支持多种数据类型,可作为NoSQL数据库、缓存和消息代理使用。安装步骤包括系统更新、Redis安装、服务启动与验证,以及基本命令操作指南。文章还提供了安全配置建议,如设置密码和防火墙规则,最后包含卸载方法和命令速查。通过本指南,用户可以快速在Ubuntu系统上部署Redis服务。 阅读详情

连接

redis-cli -p 6379

--连接8号库

 redis-cli -p 6379 -n 8

redis有0-15共16个库

1、string(字符串、数值、bitmap)

27.0.0.1:6379[8]> set k1 hello --设置值
OK
127.0.0.1:6379[8]> get k1
"hello"
127.0.0.1:6379[8]> set k1 he nx  --不存在才能新增
(nil)
127.0.0.1:6379[8]> set k1 he xx -- 更新
127.0.0.1:6379[8]> mset k2 1 h3 2
OK
127.0.0.1:6379[8]> mget k2 h3
1) "1"
2) "2"
127.0.0.1:6379[8]> APPEND k1 ' worlod '
(integer) 10
127.0.0.1:6379[8]> get k1
"he worlod "
127.0.0.1:6379[8]> GETRANGE k1 -8 -1
" worlod "
127.0.0.1:6379[8]> SETRANGE k1 4 shijinqunal
(integer) 15
127.0.0.1:6379[8]> get k1
"he wshijinqunal"
127.0.0.1:6379[8]> 

127.0.0.1:6379[8]> STRLEN k1
(integer) 15

127.0.0.1:6379[8]> OBJECT encoding k1
"int"
127.0.0.1:6379[8]> INCR k1
(integer) 101
127.0.0.1:6379[8]> INCRBY k1 22
(integer) 123
127.0.0.1:6379[8]> DECRBY k1 88
(integer) 35
127.0.0.1:6379[8]> INCRBYFLOAT k1 0.2
"35.2"
127.0.0.1:6379[8]> 

127.0.0.1:6379[8]> set k3 jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
OK
127.0.0.1:6379[8]> OBJECT encoding k3
"embstr"
127.0.0.1:6379[8]> APPEND k3 jjjjjjjjjjjjjjjjjjjjjjjj
(integer) 56
127.0.0.1:6379[8]> OBJECT encoding k3
"raw"
127.0.0.1:6379[8]> 
127.0.0.1:6379[8]> SETBIT k1 1 1
(integer) 0
127.0.0.1:6379[8]> get k1
"@"
127.0.0.1:6379[8]> set k1 7 1
(error) ERR syntax error
127.0.0.1:6379[8]> SETBIT k1 7 1 
(integer) 0
127.0.0.1:6379[8]> get k1
"A"
127.0.0.1:6379[8]> SETBIT k1 9 1
(integer) 0
127.0.0.1:6379[8]> get k1
"A@"
127.0.0.1:6379[8]> 

bitmap

127.0.0.1:6379[8]> SETBIT k1 7 1 
(integer) 0
127.0.0.1:6379[8]> get k1
"A"

127.0.0.1:6379[8]> BITPOS k1 1 0  1
(integer) 1
127.0.0.1:6379[8]> BITPOS k1 1 1 1
(integer) 9

127.0.0.1:6379[8]> BITCOUNT k1 0 1 
(integer) 3

127.0.0.1:6379[8]> SETBIT k1 1 1
(integer) 0
127.0.0.1:6379[8]> get k1
"@"
127.0.0.1:6379[8]> SETBIT k2 2 1
(integer) 0
127.0.0.1:6379[8]> get k2
" "
127.0.0.1:6379[8]> BITOP or andkey k1 k2
(integer) 1
127.0.0.1:6379[8]> get andkey
"`"
127.0.0.1:6379[8]> 

redis bitmap面试题:

用户登陆信息

用户登陆数量 去重

redis二进制安全

2、list

可以实现:

栈:同向命令

lpush lpop

队列:反向命令

lpush rpop

数组:lindex

阻塞単波队列

lindex key index
lset key index value
lrem key  移除几个 字符
LINSERT key BEFORE|AFTER pivot element
LREM key count element

添加元素 
LPUSH key element [element ...]
summary: Prepend one or multiple elements to a list
since: 1.0.0
RPUSH key element [element ...]
summary: Append one or multiple elements to a list
since: 1.0.0
删除元素 弹出元素
RPOP key [count]
summary: Remove and get the last elements in a list
since: 1.0.0
LPOP key [count]
summary: Remove and get the first elements in a list
since: 1.0.0
下标取数
LINDEX key index
summary: Get an element from a list by its index
since: 1.0.0
下标替换值
LSET key index element
summary: Set the value of an element in a list by its index
since: 1.0.0
移除字符
LREM key count element
summary: Remove elements from a list
since: 1.0.0
在某个元素前后插入元素
LINSERT key BEFORE|AFTER pivot element
summary: Insert an element before or after another element in a list
since: 2.2.0
获取元素
LRANGE key start stop
summary: Get a range of elements from a list
since: 1.0.0

统计长度
LLEN key
summary: Get the length of a list
since: 1.0.0

删除两端元素
LTRIM key start stop
summary: Trim a list to the specified range
since: 1.0.0
 

 

3、hash

可以对field进行数值计算

场景:点赞、收藏、详情页。

HDEL key field [field ...]
summary: Delete one or more hash fields
since: 2.0.0

HEXISTS key field
summary: Determine if a hash field exists
since: 2.0.0

HGET key field
summary: Get the value of a hash field
since: 2.0.0

HGETALL key
summary: Get all the fields and values in a hash
since: 2.0.0

HINCRBY key field increment
summary: Increment the integer value of a hash field by the given number
since: 2.0.0

HINCRBYFLOAT key field increment
summary: Increment the float value of a hash field by the given amount
since: 2.6.0

HKEYS key
summary: Get all the fields in a hash
since: 2.0.0

HLEN key
summary: Get the number of fields in a hash
since: 2.0.0

HMGET key field [field ...]
summary: Get the values of all the given hash fields
since: 2.0.0

HMSET key field value [field value ...]
summary: Set multiple hash fields to multiple values
since: 2.0.0

HRANDFIELD key [count [WITHVALUES]]
summary: Get one or multiple random fields from a hash
since: 6.2.0

HSCAN key cursor [MATCH pattern] [COUNT count]
summary: Incrementally iterate hash fields and associated values
since: 2.8.0

HSET key field value [field value ...]
summary: Set the string value of a hash field
since: 2.0.0

HSETNX key field value
summary: Set the value of a hash field, only if the field does not exist
since: 2.0.0

HSTRLEN key field
summary: Get the length of the value of a hash field
since: 3.2.0

HVALS key
summary: Get all the values in a hash
since: 2.0.0

4、set

无序、去重

随机事件:SPOP 取出一个  SRANDMEMBER k1 100 取出多个

--添加

SADD key member [member ...]
summary: Add one or more members to a set
since: 1.0.0

SCARD key
summary: Get the number of members in a set
since: 1.0.0

--差集

SDIFF key [key ...]
summary: Subtract multiple sets
since: 1.0.0

SDIFFSTORE destination key [key ...]
summary: Subtract multiple sets and store the resulting set in a key
since: 1.0.0

--交集

SINTER key [key ...]
summary: Intersect multiple sets
since: 1.0.0

SINTERSTORE destination key [key ...]
summary: Intersect multiple sets and store the resulting set in a key
since: 1.0.0

--查看元素

SISMEMBER key member
summary: Determine if a given value is a member of a set
since: 1.0.0

SMEMBERS key
summary: Get all the members in a set
since: 1.0.0

SMISMEMBER key member [member ...]
summary: Returns the membership associated with the given elements for a set
since: 6.2.0

SMOVE source destination member
summary: Move a member from one set to another
since: 1.0.0

SPOP key [count]
summary: Remove and return one or multiple random members from a set
since: 1.0.0

--count 为负数时可以重复

SRANDMEMBER key [count]
summary: Get one or multiple random members from a set
since: 1.0.0

SREM key member [member ...]
summary: Remove one or more members from a set
since: 1.0.0

SSCAN key cursor [MATCH pattern] [COUNT count]
summary: Incrementally iterate Set elements
since: 2.8.0

--并集

SUNION key [key ...]
summary: Add multiple sets
since: 1.0.0

SUNIONSTORE destination key [key ...]
summary: Add multiple sets and store the resulting set in a key
since: 1.0.0
 

5、sorted set

 

ZUNIONSTORE unkey 2 k1 k2 weights 1 0.5 交集 带权重 (相同则求和)

 


  BZPOPMAX key [key ...] timeout
  summary: Remove and return the member with the highest score from one or more sorted sets, or block until one is available
  since: 5.0.0

  BZPOPMIN key [key ...] timeout
  summary: Remove and return the member with the lowest score from one or more sorted sets, or block until one is available
  since: 5.0.0
  
--新增
  ZADD key [NX|XX] [GT|LT] [CH] [INCR] score member [score member ...]
  summary: Add one or more members to a sorted set, or update its score if it already exists
  since: 1.2.0

  ZCARD key
  summary: Get the number of members in a sorted set
  since: 1.2.0

  ZCOUNT key min max
  summary: Count the members in a sorted set with scores within the given values
  since: 2.0.0

  ZDIFF numkeys key [key ...] [WITHSCORES]
  summary: Subtract multiple sorted sets
  since: 6.2.0

  ZDIFFSTORE destination numkeys key [key ...]
  summary: Subtract multiple sorted sets and store the resulting sorted set in a new key
  since: 6.2.0

  --增加
  ZINCRBY key increment member
  summary: Increment the score of a member in a sorted set
  since: 1.2.0

  ZINTER numkeys key [key ...] [WEIGHTS weight] [AGGREGATE SUM|MIN|MAX] [WITHSCORES]
  summary: Intersect multiple sorted sets
  since: 6.2.0

  ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight] [AGGREGATE SUM|MIN|MAX]
  summary: Intersect multiple sorted sets and store the resulting sorted set in a new key
  since: 2.0.0

  ZLEXCOUNT key min max
  summary: Count the number of members in a sorted set between a given lexicographical range
  since: 2.8.9

  ZMSCORE key member [member ...]
  summary: Get the score associated with the given members in a sorted set
  since: 6.2.0

  ZPOPMAX key [count]
  summary: Remove and return members with the highest scores in a sorted set
  since: 5.0.0

  ZPOPMIN key [count]
  summary: Remove and return members with the lowest scores in a sorted set
  since: 5.0.0

  ZRANDMEMBER key [count [WITHSCORES]]
  summary: Get one or multiple random elements from a sorted set
  since: 6.2.0

  --查询
  ZRANGE key min max [BYSCORE|BYLEX] [REV] [LIMIT offset count] [WITHSCORES]
  summary: Return a range of members in a sorted set
  since: 1.2.0

  ZRANGEBYLEX key min max [LIMIT offset count]
  summary: Return a range of members in a sorted set, by lexicographical range
  since: 2.8.9

  --通过分值取
  ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
  summary: Return a range of members in a sorted set, by score
  since: 1.0.5

  ZRANGESTORE dst src min max [BYSCORE|BYLEX] [REV] [LIMIT offset count]
  summary: Store a range of members from sorted set into another key
  since: 6.2.0

  --取出排名
  ZRANK key member
  summary: Determine the index of a member in a sorted set
  since: 2.0.0

  ZREM key member [member ...]
  summary: Remove one or more members from a sorted set
  since: 1.2.0

  ZREMRANGEBYLEX key min max
  summary: Remove all members in a sorted set between the given lexicographical range
  since: 2.8.9

  ZREMRANGEBYRANK key start stop
  summary: Remove all members in a sorted set within the given indexes
  since: 2.0.0

  ZREMRANGEBYSCORE key min max
  summary: Remove all members in a sorted set within the given scores
  since: 1.2.0

  --排序之后取
  ZREVRANGE key start stop [WITHSCORES]
  summary: Return a range of members in a sorted set, by index, with scores ordered from high to low
  since: 1.2.0

  ZREVRANGEBYLEX key max min [LIMIT offset count]
  summary: Return a range of members in a sorted set, by lexicographical range, ordered from higher to lower strings.
  since: 2.8.9

  ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count]
  summary: Return a range of members in a sorted set, by score, with scores ordered from high to low
  since: 2.2.0

  ZREVRANK key member
  summary: Determine the index of a member in a sorted set, with scores ordered from high to low
  since: 2.0.0

  ZSCAN key cursor [MATCH pattern] [COUNT count]
  summary: Incrementally iterate sorted sets elements and associated scores
  since: 2.8.0

  --取出分数
  ZSCORE key member
  summary: Get the score associated with the given member in a sorted set
  since: 1.2.0

  ZUNION numkeys key [key ...] [WEIGHTS weight] [AGGREGATE SUM|MIN|MAX] [WITHSCORES]
  summary: Add multiple sorted sets
  since: 6.2.0

  ZUNIONSTORE destination numkeys key [key ...] [WEIGHTS weight] [AGGREGATE SUM|MIN|MAX]
  summary: Add multiple sorted sets and store the resulting sorted set in a new key
  since: 2.0.0

排序是怎么实现的

skip list 跳跃表 随机造层 类平衡树

平均值相对最优

 

有序 正负索引

021、Python+fastapi,第一个Python项目走向第21步:ubuntu 24.04 docker 安装mysql8集群、redis集群(二) 安装redis 我会以三种方式安装,第一、直接最简单安装,适用于测试环境玩玩第二、conf配置安装第三、集群环境安装t=N7T8python+vue3+fastapi+ai 学习_浪淘沙jkp的博客-优快云博客https://blog.youkuaiyun.com/jiangkp/category_12623996.html。 阅读详情

相关推荐

2021.04.21牛客网Java校招面经汇总(1~12)

交行软开一面面经 遇见TA 1.Java的类加载机制 解析: https://gitee.com/SnailClimb/JavaGuide/blob/master/docs/java/jvm/%E7%B1%BB%E5%8A%A0%E8%BD%BD%E8%BF%87%E7%A8%8B.md 系统加载 Class 类型的文件主要三步:加载->连接->初始化。连接过程又可分为三步:验证->准备->解析。 (1)加载 ①通过全类名获取定义此类的二进制字节流 ②将字节流所代表的静态存储结构转换

m0_55435118的博客 1847

Redis 数据操作命令简介

Strings APPEND:给字符串类型的value后边添加新的字符串。 DECR:整数类型的value减一。 DECRBY:整数类型的value减去指定值。 GET:获取value。 GETDEL:查询并删除key。 GETEX:查询并设置过期时间。 GETRANGE:返回value的子串。 GETSET:获取老值,并设置新值。 INCR:整数类型的value加一。 INCRBY:整数类型的value加一个整数。 INCRBYFLOAT:浮点型value加一个数字。 MGET:一次获取多个值。 MSET

Welcome to My blog 924

redis基础数据结构讲解

本文主要介绍redis的几种数据类型和适用场景。会列出简单例子,具体的redis函数不会一一介绍。不过这些简单的例子基本上满足80%以上的项目。

Redis--有序集合(sorted set)

Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。 不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。 有序集合的成员是唯一的,但分数(score)却可以重复。 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1) 1、Zadd 命令   Redis Zadd 命令用于将一个或多...

weixin_33816821的博客 316

电源完整性之仿真设计原理

电源完整性(Power Integrity),简称为PI,也就是大家平常听说的PI。PCB板上的电源设计也是非常重要的,不当的设计也会引起很重要的影响。所以电源完整性PI和信号完整性SI,是我们互连设计人员应该同等重视的问题。今天整理本人接触的电源完整性PI的一些原理,从不的角度去看PI,会有不同的理解,下面开始喽!!! 提到互连的电源设计,可能首先想到的电源分配网络(Power Distribution Nets),因为互连电源会有许多种,直流DC和交流AC,还有不同的电压调节模块(VRM)与不同的负载端

刘小同学的博客 7378

RJ45以太网接口EMC设计方案

RJ45以太网接口EMC设计方案 一、 接口概述 RJ45以太网接口是目前应用最广泛的通讯设备接口,以太网口的电磁兼容性能关系到通讯设备的稳定运行。赛盛技术应用电磁兼容设计平台(EDP)软件从接口原理图、结构设计,线缆设计三个方面来设计以太网口的EMC设计方案。 二、 接口电路 原理图的EMC设计 百兆以太网接口2KV防雷滤波设计 图1 百兆以太网接口2KV防雷滤波设计 接口电路设计概述: 本方案从EMC原理上,进行了相关的抑制干扰和抗敏感度的设计;从设计层次解决EMC问题;同时此电路兼容了百兆以太网接

兰陵笑笑生SD的博客 1万+

Redis 7 中的 Set 和 Zset 使用

在实际应用中,结合具体需求选择结构:如果只关心存在性,用 Set;测试命令时,建议使用 Redis CLI 或客户端库(如 Python 的 redis-py)。Zset 是一个有序的字符串集合,每个元素关联一个分数(score),用于排序。元素唯一,但分数可以重复。它适合需要排序的场景,如排行榜或优先级队列。Set 是一个无序的字符串集合,元素唯一(不允许重复)。它适合存储无需排序的唯一项,如标签、用户好友列表或去重数据。:Redis 7 对 Set 没有新增命令,但整体性能优化提升了命令执行速度(如。

oGuiGui12345的博客 538

概率数据关联(PDA):多目标跟踪的基石算法

1. 为什么需要概率数据关联? 2. 核心思想与假设条件 3. 算法核心:概率分配与状态更新 4. 典型应用场景与优势 5. 挑战与改进方向 6. 下期预告

qq_44965657的博客 1467

zset获取指定score_Redis(八):zset/zadd/zrange/zrembyscore 命令源码解析

前面几篇文章,我们完全领略了redis的string,hash,list,set数据类型的实现方法,相信对redis已经不再神秘。本篇我们将介绍redis的最后一种数据类型: zset 的相关实现。本篇过后,我们对redis的各种基础功能,应该不会再有疑惑。有可能的话,我们后续将会对redis的高级功能的实现做解析。(如复制、哨兵模式、集群模式)回归本篇主题,zset。zset 又称有序集合(so...

weixin_39762441的博客 1959

GSEA富集分析实战:从数据准备到结果解读的完整R代码指南

本文提供了一份完整的GSEA富集分析实战指南,涵盖从R环境准备、数据质量控制到基因ID转换、参数优化和结果解读的全流程。通过详细的R代码示例和实用技巧,帮助研究人员高效完成基因集富集分析,特别针对生物信息学中常见的GSEA分析痛点提供了专业解决方案。

weixin_29246195的博客 537

八路抢答器____一个作品的制作思路

学习了解到一个产品制作完全由一个人去采购,设计,仿真,画PCB。不光是需求的分析还有实现功能时如何搭建电路,和给出一个简单高效的设计方法也是至关重要的。

weixin_73690807的博客 1524

Redis——zset类型详解

zset类型的概要介绍,常用命令,内部编码方式及应用场景

m0_60867520的博客 1898

手把手教你用Arduino Uno控制meArm机械臂(附完整代码+避坑指南)

本文提供了一份详尽的meArm机械臂控制指南,涵盖从Arduino Uno硬件连接到Servo库编程的完整流程。重点讲解了如何通过独立供电、软件限位和平滑运动函数实现稳定控制,并设计了串口指令协议与高级功能,帮助创客有效规避舵机抖动、电源不足等常见问题,让机械臂运行更流畅可靠。

gpt4scribbler的博客 541

【Redis】Redis数据结构——List列表

列表类型是⽤来存储多个有序的字符串,如图 2-19 所⽰,a、b、c、d、e 五个元素从左到右组成了⼀个有序的列表,列表中的每个字符串称为元素(element),⼀个列表最多可以存储 个元素。在 Redis 中,可以对列表两端插⼊(push)和弹出(pop),还可以获取指定范围的元素列表、获取指定索引下标的元素等(如图 2-19 和图 2-20 所⽰)。列表是⼀种⽐较灵活的数据结构,它可以充当栈和队列的⻆⾊,在实际开发上有很多应⽤场景。

zxj20041003的博客 1387

《Android系统开发中高级定制专栏导读》

欢迎来到【Android 中高级系统定制】专栏!在这里,将深入探讨Android系统开发与定制的方方面面,涵盖从权限管理、驱动开发到系统应用配置等多个领域。

我其实什么都不会 1581

OMAPL138使用UPP读写测试

UPP测试代码 #include "hw_types.h" // 宏命令 #include "hw_syscfg0_OMAPL138.h" // 系统配置模块寄存器 #include "soc_OMAPL138.h" // DSP C6748 外设寄存器 #include "psc.h" // 电源与睡眠控制宏及设备抽象层函数声明 #include "interrupt.h" // DSP C6748 中断相关应用程序接...

wangjie36的博客 1193

Redis:原理速成+项目实战——Redis常见命令(数据结构、常见命令总结)

Redis:原理速成+项目实战——Redis数据结构与常见命令总结

m0_52380556的博客 1244

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Redis入门到超神 - 04 redis的5种数据结构,阿里Java开发面试解答

阿里伤透我心,疯狂复习刷题,终于喜提offer 哈哈~好啦,不闲扯了1、JAVA面试核心知识整理(PDF):包含JVMJAVA集合JAVA多线程并发,JAVA基础,Spring原理微服务,Netty与RPC,网络,日志,ZookeeperKafkaRabbitMQ,Hbase,MongoDB设计模式负载均衡数据库一致性哈希JAVA算法数据结构,加密算法,分布式缓存,Hadoop,Spark,Storm,YARN,机器学习,云计算共30个章节。2、Redis学习笔记及学习思维脑图。

2401_83974199的博客 504

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

2021-04-15

<!-- markdown-toc start - Don't edit this section. Run M-x markdown-toc-generate-toc again --> Table of Contents Python语言特性 1 Python的函数参数传递 2 Python中的元类(metaclass) 3 @staticmethod和@classmethod 4 类变量和实例变量 5 Pyth

Owen_goodman的博客 2414

go每日新闻(2021-06-21)——Golang 整洁接口最佳实践

每日谚语: In Go, constants are mathematically precise. go中文网每日资讯--2021-06-21 一、Go语言中文网 为什么 Go 关心 unsafe.Pointer 和 uintptr 之间的差别 Go:你真的了解 timeout 嘛? 二、亚军进化史 Go技术日报(2021-06-20)——有赞TCP网络编程最佳实践 三、k8s技术圈 阿里云容器服务-Kubernetes高级工程师 | 云原生招聘 四、Go招聘 灵魂一问:unsafe 包真.

韩亚军的博客 616

社招:海康威视一面2021.04.21

前言 30min.感觉面试官兴致不是很高.问的问题也更多问一些对项目个人负责相关以及个人在项目上的总结之类.并没有问很深入的理论知识.感觉被调戏了QAQ,为啥那些社招大佬的面经一个比一个厉害 1. 自我介绍 个人情况、最近工作项目介绍、项目技术栈介绍、个人负责开发功能介绍 2. 面试官又让介绍项目场景 介绍了项目场景与个人负责功能 3. SpringMVC和SpringBoot区别 面试官一直给我说SpringBoot可以替代SpringMVC.想让我改口,使用SpringBoot就可以不用S

看不见鲸鱼的鼻子的博客 3160

分布式之Redis的三大衍生数据结构

引言 说起redis的数据结构,大家可能对五大基础数据类型比较熟悉:String,Hash,List,Set,Sorted Set。那么除此之外,还有三大衍生数据结构,大家平时是很少接触的,即:bitmaps、hyperloglog、geo 另外,我觉得,这三个数据结构,只能说是锦上添花。真正在项目中,我还真没用过。 下面大家来看看这三大数据结构的定义和用途 (想自学习编程的小伙伴请搜索圈T社区,...

wanghao112956的博客 185

redis(day08-Redis原理篇)

本文摘要: Redis原理课程系统介绍了Redis的核心数据结构和工作机制,包括:1) 5种动态字符串类型(SDS)及其适用场景;2) 6种底层数据结构实现如intset、Dict、ZipList等;3) 五种数据类型的存储结构;4) 网络模型演进过程,从阻塞IO到epoll多路复用;5) 单线程模型优势及多线程扩展;6) RESP通信协议及Java客户端实现示例;7) 内存回收策略包括过期key处理和淘汰机制。课程全面剖析了Redis高性能背后的设计原理,涵盖数据结构、网络通信、内存管理等核心模块。

mrjieke6的博客 510

Redis学习笔记04

【代码】Redis学习笔记04。

qq_40534540的博客 326

图解Redis 04 | Set数据类型的原理及应用场景

Redis 的 Set 类型是一个不允许重复元素的集合,元素存储的顺序不按照插入的顺序,因此属于无序集合。一个 Set 最多可以存储 2^32 - 1 个元素,这与数学中的集合概念类似。Set 类型不仅支持增、删、改、查等操作,还支持多个Set之间的交集、并集和差集运算。

大厂小码农的博客 1495

Redis核心技术与实战

作为同时具备高性能、高可靠和高可扩展性的典型键值数据库,Redis不仅功能强大,而且稳定,理所当然地成为了大型互联网公司的首选。 众多大厂在招聘的时候,不仅会要求面试者能简单地使用Redis,还要能深入地理解底层实现原理,并且具备解决常见问题的能力。可以说,熟练掌握Redis已经成为了技术人的一个必备技能。 但是,在学习和使用Redis的过程中,总不可避免地遇见一些棘手的问题,比如: Redis的key和数据结构应该怎么设计?有什么最佳实践? Redis集群如何均衡数据?又如何横向扩展? 怎么保证

MyySophia的博客 4265
上一篇: 2021-04-19 redis安装
下一篇: 2021-04-25 redis 进阶
心系代码
博客等级 码龄9年 60粉丝 103原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心系代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值