初探redis:Docker安装redis,redis的数据结构、发布订阅

本文介绍了如何使用Docker安装Redis,详细讲解了Redis的五种基础数据结构——String、Hash、List、Set和ZSet,以及高级数据类型如Bitmap、HyperLogLog和Geo。此外,还探讨了Pipeline和发布订阅功能,帮助读者更好地理解和应用Redis。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

redis

redis(REmote DIctionary Server),基于ANSI C语言编写的一个内存型NoSQL数据库(也可以持久化存储),性能极强,使用键值数据存储,提供多种语言的API。

之前的redis是单线程的(广义上来说,其实还有后台线程),因为所有命令都是串行的交给一个线程来处理,而最新的redis是支持多线程的。

redis的安装

之前使用传统的安装方式在Linux上安装redis,第一次搞得时候折腾了我几个小时。

这次就使用docker安装redis,方便快捷,

最后启动redis
在这里插入图片描述


通用命令

keys [pattern] 根据符号匹配查询,比如keys *查询所有

del key 删除指定key

exists key 判断key是否存在

type key 获取key的类型

expire key second 设置key的有效期,到期就删除

ttl 获取key的有效期(不存在返回-2,存在且没有有效期返回-1,否则返回剩余时间)

presist key 将有效期key转换为永久性key

五个基础数据结构

对于redis来说,key都是字符串,而value有五种基础类型。但是对于每个基础类型的数据结构,在其底层也有不同的内部编码(也就是底层的实现),就如同HashMap内部有链表和红黑树。

编码方式可以通过object encoding key 来查看

string

字符串类型,虽然是string类型,其实可以有多种类型,比如字符串、整数型。经常用于缓存,比如存储json数据等。

一个字符串类型最大不能超过512MB,这个大小通常是用不到的。字符串中数值类型也是有上限的,也就是Java中long类型的最大值(263-1,通常也是接触不到的)。


内部编码

  • int:保存long类型的有符号整型,超出范围的数字则记为其他的字符串编码
  • raw:保存长度大于44字节的字符串
  • embstr:保存长度小于等于44字节的字符串

常见命令

set key value 设置指定key的值

mset key1 value1 key2 value2... 批量设置key的值

get key 获取指定key的值

mget key1 key2 ... 批量获取key的值

incr key 数据类型自增1(非数据类型或超出范围会报错)

decr key 数据类型自减1

strlen key 返回指定key的字符串值的长度

hash

hash的存储类型,有些类似于Java中的HashMap结构,也就是一个哈希表结构。Hash中有field和value属性,也就是key-filed-value,可以将key-hash

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值