当前位置: 首页 > news >正文

Redis-数据类型与常用命令

Redis-数据类型与常用命令

  • 一、Redis数据类型(Value)
    • 1. 字符串Strings
    • 2. 列表Lists
    • 3. 哈希hashes
    • 4. 集合Sets
    • 5. 有序集合Zset => 场景:需要排序
  • 二、常用命令
    • 1. 查看帮助
    • 2. 查看数据中的所有key
    • 3. 查看key数据类型
    • 4. 删除指定key
    • 5. 查看key的过期时间
    • 6. 选择数据库
    • 7. 移动key
    • 8. 查看有多少个数据
    • 9. 清空数据库


一、Redis数据类型(Value)

key一般字符串

1. 字符串Strings

strings被认为是二进制安全的,它可以包含任何类型的数据,如图片或序列化对象。
一个strings类型最大可以是512M

2. 列表Lists

列表类似python列表(有序对象),可以对lists的最左边和最右边进行插入和取出操作
[1,2,3,4,5] pop移除,push插入
一般用在队列(先进先出),栈(先进后出)等场景中

3. 哈希hashes

类似python字典key-value
api => json => 存入到redis中 => hashes
每个哈希对象可以存储40多亿键值对

4. 集合Sets

集合不包含重复值,可以并集、交集、差集…
Sets对象是通过哈希表实现的,复杂度O(1)
每个集合对象可以存储40多亿成员(2^32-1)

5. 有序集合Zset => 场景:需要排序

有序集合的每个元素都关联一个double类型的分数值,
通过分数对集合中的成员进行从小到大排序
(排行榜)(排行榜)[video1:2, video3:5, video2:10]

Zset不包含重复值, 复杂度O(1)
每个集合对象可以存储40多亿成员(2^32-1)

地理空间 Geospatial => 附近的人…
GEO 主要用于存储地理位置信息,添加地理位置,计算某个地理位置范围有哪些地理位置,计算两个位置的距离

基数统计HyperLogLog => 进行不需要保留基数的统计时
统计淘宝首页访问人数,某篇文章访问IP数…
不会存储元素本身,花费的内存空间小12KB就可以存储2^64个不同的元素的基数

位图bitmaps/bitarray
位域Bitfields
流Streams


二、常用命令

1. 查看帮助

127.0.0.1:6379> help @string
127.0.0.1:6379> help set/SETSET key value [NX|XX] [GET] [EX seconds|PX milliseconds|EXAT unix-time-seconds|PXAT unix-time-milliseconds|KEEPTTL]summary: Sets the string value of a key, ignoring its type. The key is created if it doesn't exist.since: 1.0.0group: string127.0.0.1:6379> set k1 hello 
OK
127.0.0.1:6379> get k1 
"hello"
127.0.0.1:6379> get k2
(nil)

2. 查看数据中的所有key

127.0.0.1:6379> keys *
1) "k1"# 检查某个key是否存在(有几个存在就返回数字几)
127.0.0.1:6379> exists k1
(integer) 1
127.0.0.1:6379> exists k1 k2
(integer) 1
127.0.0.1:6379> set k2 1
OK
127.0.0.1:6379> exists k1 k2
(integer) 2

3. 查看key数据类型

type

127.0.0.1:6379> type k1
string
127.0.0.1:6379> type k2
string

4. 删除指定key

del:同步删除

127.0.0.1:6379> set h2 world
OK
127.0.0.1:6379> keys *
1) "h2"
2) "k1"
3) "k2"
127.0.0.1:6379> del h2
(integer) 1
127.0.0.1:6379> keys *
1) "k1"
2) "k2"

unlink: 非阻塞删除,仅仅将keys从keyspace元数据中删除,真正的删除会在后续异步操作中完成

127.0.0.1:6379> set h1 abc
OK
127.0.0.1:6379> unlink h1
(integer) 1
127.0.0.1:6379> keys *
1) "k1"
2) "k2"

5. 查看key的过期时间

ttl key: 查看key还有多少秒过期

-1: 永不过期,-2 已经过期, n 还有n秒过期

127.0.0.1:6379> ttl k1
(integer) -1
127.0.0.1:6379> expire k1 30
(integer) 1
127.0.0.1:6379> ttl k1
(integer) 27
127.0.0.1:6379> ttl k1
(integer) -2
127.0.0.1:6379> get k1
(nil)
127.0.0.1:6379> keys *
1) "k2"
127.0.0.1:6379> ttl k10
(integer) -2

6. 选择数据库

数据库的选择[0-15],默认为0
select更改

127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> keys *
(empty array)127.0.0.1:6379[1]> select 0
OK
127.0.0.1:6379> keys *
1) "k5"
2) "k1"
3) "k4"
4) "k2"
5) "k3"

7. 移动key

move

127.0.0.1:6379> move k5 1
(integer) 1
127.0.0.1:6379> keys *
1) "k1"
2) "k4"
3) "k2"
4) "k3"
127.0.0.1:6379> select 1 
OK
127.0.0.1:6379[1]> keys *
1) "k5"

8. 查看有多少个数据

127.0.0.1:6379[1]> select 0
OK
127.0.0.1:6379> dbsize
(integer) 4


9. 清空数据库

清空当前数据库

127.0.0.1:6379> flushdb
OK
127.0.0.1:6379> dbsize
(integer) 0
127.0.0.1:6379> keys *
(empty array)

清空所有数据库

127.0.0.1:6379> flushall
OK
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> keys *
(empty array)

http://www.dtcms.com/a/351031.html

相关文章:

  • Java数据结构——9.排序
  • 【OpenAI】ChatGPT-4o 全能AI-omni的详细介绍+API KET的使用教程!
  • Stream API 新玩法:从 teeing()到 mapMulti()
  • 多种“找不到vcruntime140.dll,无法继续执行代码”提示的解决方法:从原理到实操,轻松修复系统故障
  • 【Delphi】中通过索引动态定位并创建对应窗体类实例
  • CMake构建学习笔记20-iconv库的构建
  • MATLAB在生态环境数据处理与分析中的应用,生态系统模型构建与数值模拟等
  • 简述滚珠丝杆升降机的结构和原理
  • CSS 结构伪类选择器
  • 【BUG排查】调试瑞萨RH850F1KMS1时候随机出现进入到unused_isr
  • 一款基于 .NET 开源、功能强大的 Windows 搜索工具
  • GD32VW553-IOT开发板测评 搭建环境到电灯(QA分享)
  • 使用提供的 YAML 文件在 Conda 中创建环境
  • Conda的配置
  • 实时平台Flink热更新技术——实现不停机升级!
  • Caddy + CoreDNS 深度解析:从功能架构到性能优化实践(上)
  • webrtc音频QOS方法一.1(NetEQ之音频网络延时DelayManager计算补充)
  • 设计模式学习笔记-----抽象策略模式
  • 【Ansible】Ansible部署K8s集群--准备环境--配置网络
  • 主流的 AI Agent 开发框架
  • 论文阅读(四)| 软件运行时配置研究综述
  • 游戏玩家批量多开挂机如何选择:云手机还是模拟器
  • LabVIEW 场效应晶体管仿真实验平台
  • 工业自动化系统架构-(多动子磁悬浮生产流水线 规划调度执行与协调)
  • 从下载到运行:MySQL 详细安装配置完整教程
  • 【Vue3】Cesium实现卫星及无人机轨迹跟踪
  • 大模型入门实战 | 基于 YOLO 数据集微调 Qwen2.5-VL-3B-Instruct 的目标检测任务
  • 数字IC前端设计——DC综合篇(生成filelist.f)
  • ADB 安装教程:如何在 Windows、 Linux 上安装 Android Debug Bridge
  • Java数据结构速成【1】