redis端口查询(redis接口)

redis端口查询(redis接口)文章目录 一 redis 1 1 redis 概述 1 2 redis 安装 二 string 2 1 基础命令 2 2 存储结构 2 3 应用 三 list 3 1 基础命令 3 2 应用 四 hash 4 1 基础命令 4 2 存储结构 4 3 应用 五 set 5 1 基础命令 5 2 存储结构 5 3 应用 六 zset 6 1 基础命令 6 2 存储结构 6 3 应用 redis

大家好,我是讯享网,很高兴认识大家。



文章目录

  • 一、redis
  • 1.1 redis概述
  • 1.2 redis安装
  • 二、string
  • 2.1 基础命令
  • 2.2 存储结构
  • 2.3 应用
  • 三、list
  • 3.1 基础命令
  • 3.2 应用
  • 四、hash
  • 4.1 基础命令
  • 4.2 存储结构
  • 4.3 应用
  • 五、set
  • 5.1 基础命令
  • 5.2 存储结构
  • 5.3 应用
  • 六、zset
  • 6.1 基础命令
  • 6.2 存储结构
  • 6.3 应用

redis( Remote Dictionary Service – 远程字典服务),它是一款开源、高性能的键值存储数据库。它支持各种数据结构,包括字符串(String)、哈希(Hash)、列表(List)、集合(Set)、有序集合(ZSet)等,并提供了丰富的操作命令,可以对这些数据结构进行灵活的读写操作。

redis以内存为主要存储介质,这使得它具有非常快速的读写性能。同时,Redis也支持将数据持久化到磁盘,以便在重启或崩溃恢复后保留数据。它采用了单线程的事件循环模型,通过异步IO和多路复用技术实现了高并发处理能力。

总结来说,redis是内存数据库、Key-Value数据库、数据结构数据库 1)远程字典服务:节点通过tcp,与redis建立连接交互。并且是请求回应模型,即节点发送请求命令到redis –> redis回复请求结果

2)内存数据库:指的是redis以内存为主要存储介质,数据都在内存中,不可能出现数据不在内存中,而磁盘有这个数据。

2)Key-Value数据库:redis是以KV方式存储的,其中key是string类型,而value多种数据结构。操作方式是redis通过key操作或者查询value。

详细的命令可以查阅redis命令中心

1)安装redis-server

2)查看redis服务的状态

怎么查看redis端口和地址_redis
讯享网

3)查看配置文件所在位置

4)修改配置文件 先备份

修改配置文件

修改内容为

5)重启redis

6)客户端连接

比如

string字符数组,该字符串是动态字符串 raw,字符串长度小于1M时,加倍扩容;超过 1M 每次只多扩 1M;字符串最大长度为512M; 注意:redis 字符串是二进制安全字符串;可以存储图片,二进制协议等二进制数据;

  • 字符串长度小于等于 20 且能转成整数,则使用 int 存储;
  • 字符串长度小于等于 44,则使用 embstr 存储;
  • 字符串长度大于44,则使用 raw 存储;

embstr :是一种字符串编码方式,用于表示较短且不包含二进制数据的字符串。它是 Redis 用于优化内存使用的一种编码方式。使用 embstr 编码可以减少字符串对象在内存中的空间占用。对于符合条件的短字符串,Redis 会直接将字符串值存储在字符串对象的结构体中,而不是额外分配内存来保存字符串数据。

raw:是一种字符串编码方式,用于表示较长或包含二进制数据的字符串。使用 raw 编码方式存储字符串时,Redis 会分配额外的内存来保存字符串数据。这意味着 raw 编码的字符串对象在内存中占用更多的空间,但同时具有更大的灵活性,可以处理更长的字符串和包含二进制数据的字符串。

1)对象存储。存储的数据不能改变,如果是需要改变的数据,使用hash来存储

2)累加器

3)分布式锁,redis 实现的是非公平锁

4)位运算。比如实现签到功能。

双向链表实现,列表首尾操作(删除和增加)时间复杂度O(1);查找中间元素时间复杂度为O(n);

列表中数据是否压缩的依据: 1)元素长度小于 48,不压缩; 2)元素压缩前后长度差不超过 8,不压缩;

1)实现数据结构 栈(先进后出 FILO)

队列(先进先出 FIFO)

阻塞队列(blocking queue)

2)获取固定窗口记录 在某些业务场景下,需要获取固定数量的记录;比如游戏里显示最近50条战绩;这些记录需要按照插入的先后顺序返回。

实际项目中需要保证命令的原子性,所以一般用 lua 脚本 或者使用 pipeline 命令。

散列表,查询修改 O(1)

节点数量大于 512(hash-max-ziplist-entries) 或所有字符串长度大于 64(hash-max-ziplist-value),则使用 dict 实现;

节点数量小于等于 512 且有一个字符串长度小于 64,则使用ziplist 实现;

1)存储对象 hash 可以存储需要频繁修改的对象。若为 string 类型首先把获得的字符串 json 反序列化,修改后,再用 json 序列化,操作繁琐。

而如果是string,一般使用的是json格式

2)购物车:hash + list hash:管理购物车中商品的具体信息 list:管理购物车中的商品,按照添加顺序来显示的

集合,用来存储唯一性字段,不要求有序。

元素都为整数且节点数量小于等于 512(set-max-intset-entries),则使用整数数组存储; 元素当中有一个不是整数或者节点数量大于 512,则使用字典存储;

2)共同关注,推荐好友

有序集合;它是有序且唯一。zset是实时有序的,zset内部是使用调表实现的。可以用来实现排行榜

节点数量大于 128 或者有一个字符串长度大于 64,则使用跳表(skiplist);

节点数量小于等于 128(zset-max-ziplist-entries)且所有字符串长度小于等于 64(zset-max-ziplist-value),则使用ziplist 存储;

1)热搜排行榜

2)延时队列 将消息序列化成一个字符串作为 zset 的 member;这个消息的到期处理时间作为 score,然后用多个线程轮询 zset 获取到期的任务进行处理。

3)分布式定时器

生产者将定时任务 hash 到不同的 redis 实体中,为每一个redis 实体分配一个 dispatcher 进程,用来定时获取 redis 中超时事件并发布到不同的消费者中

怎么查看redis端口和地址_缓存_02

4)时间窗口限流

在 Redis 中,可以使用 EXPIRE 命令为指定的键设置过期时间。一旦过期时间到达,Redis 将自动删除该键。

假设我们有一个键名为 “mykey” 的键,现在我们想要给它设置一个过期时间为 60 秒

系统限定用户的某个行为在指定的时间范围内(动态)只能发生 N 次。通过时间窗口限流实现

维护一次时间窗口,将窗口外的记录全部清理掉,只保留窗口内的记录;

缺点:记录了所有时间窗口内的数据,如果这个量很大,不适合做这样的限流;漏斗限流。 注意:如果用 key + expire 操作也能实现,但是实现的是熔断限流,这里是时间窗口限流的功能;

漏斗限流算法基于一个类似漏斗的数据结构,来控制请求的流量。 熔断限流是一种机制,用于在系统达到一定阈值时快速停止对其的请求。

小讯
上一篇 2025-04-19 08:29
下一篇 2025-05-25 17:34

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/162181.html