Redis数据库常用命令和数据类型

文章目录

    • 一、Redis数据库常用命令
      • 1、set/get
      • 2、keys
      • 3、exists
      • 4、del
      • 5、type
      • 6、rename
        • 6.1 重命名
        • 6.2 覆盖
      • 7、renamenx
      • 8、dbsize
      • 9、密码设置
      • 10、密码验证
      • 11、查看密码
      • 12、取消密码
      • 13、Redis多数据库常用命令
        • 13.1 多数据库间切换
        • 13.2 多数据库间移动数据
        • 13.3 清除数据库数据
    • 二、Redis数据类型
      • 1、String数据类型
      • 2、List 数据类型
      • 3、Hash数据类型 (散列类型)
      • 4、set数据类型(无序集合)
      • 5、Sorted Set数据类型 (zset、有序集合)

一、Redis数据库常用命令

1、set/get

  • set:存放数据,命令格式为set key value
  • get:获取数据,命令格式为get key
redis-cli
#登录本地redis

set name liu
#存放数据

get name
#获取数据

image-20240401205514227

2、keys

  • keys命令可以取符合规则的键值列表,通常情况可以结合*、?等选项来使用
keys *
#查询Redis数据库中所有键的列表

image-20240401210139626

set k1 1
set k2 2
set k3 3
set v1 1
set v2 3
set v3 5
set v11 7
#创建键

keys *
#查询Redis数据库中所有键的列表

keys v*
#查询当前数据库中以v开头的数据

keys *1
#查询当前数据库中以1结尾的数据

keys ??1
#查询数据库中以1结尾并且1前面包含任意两位的数据

image-20240401210355164

image-20240401210803647

3、exists

  • exists命令可以判断键值是否存在
exists name
#判断name键是否存在,存在会返回1

exists qq
#判断qq键是否存在,存在会返回0

image-20240401211317325

4、del

  • del命令可以删除当前数据库的指定key
del name
#删除name键

exists name
#此时查询name键是否存在,返回0

image-20240401211651560

5、type

  • type命令可以获取key对应的value值类型
type k1
#查询k1存储的值是的类型

image-20240401212413576

6、rename

  • rename命令是对已有key进行重命名(覆盖)

命令格式

rename 源key 目标key
  • 使用rename命令进行重命名时,无论目标key是否存在都进行重命名,且源key的值会覆盖目标key的值。在实际使用过程中,建议先用exists命令查看目标key是否存在,然后再决定是否执行rename命令,以避免覆盖重要数据。
6.1 重命名
keys v*
#查询当前数据库中以v开头的数据

rename v11 v4
#将v11改名为v4

keys v*
#查询当前数据库中以v开头的数据

image-20240401213658205

6.2 覆盖
get v1
#获取v1键的值

get v2
#获取v2键的值

rename v1 v2
#覆盖v2原来的值,变成v1值

keys v*
#查询当前数据库中以v开头的数据

get v2
#获取v2键的值,v2原来的值被v1值所覆盖

get v1
#获取v1键的值

image-20240401213544345

7、renamenx

  • renamenx命令的作用是对已有key进行重命名,并检测新名是否存在,如果目标key存在则不进行重命名(不覆盖)

命令格式

renamenx 源key 目标key
keys v*
#查询当前数据库中以v开头的数据

renamenx v4 v1
#将v4重命名为v1,因为v1不存在,所以重命名成功

keys v*
#查询当前数据库中以v开头的数据

renamenx v3 v1
#将v3重命名为v1,因为v1已经存在,所以重命不会成功

keys v*
#查询当前数据库中以v开头的数据

image-20240401214309542

8、dbsize

  • dbsize命令的作用是查看当前数据库中key的数目
keys *
#查询Redis数据库中所有键的列表

dbsize
#查看当前数据库中key的数目

image-20240401214842924

9、密码设置

  • 使用"config set requirepass password"命令设置密码
config set requirepass 123456
#设置密码

image-20240401214954770

10、密码验证

  • 使用auth命令验证密码,一旦设置密码,每次登陆后必须先验证通过密码,否则所有操作不可用
auth 123456
#验证密码后,再对redis数据库进行操作

image-20240401215340927

  • 也可在登录时使用-a选项,输入密码
redis-cli -a 123456
#在登录时,直接使用-a选项输入密码

image-20240401215658470

11、查看密码

config get requirepass
#查询redis数据库密码

image-20240401220328997

12、取消密码

  • 使用"config set requirepass ‘’"命令通过重定义空密码的方式,清空密码并取消密码验证
config set requirepass ''
#设置密码为空

config get requirepass
#查看密码

redis-cli
#登录redis

keys *
#查看redis数据库中所有键的列表,不需要密码,可以操作

image-20240401220743076

13、Redis多数据库常用命令

  • Redis支持多数据库,Redis默认情况下包含16个数据库,数据库名称是用数字0-15来依次命名的。
  • 多数据库相互独立,互不干扰。
13.1 多数据库间切换

命令格式

select 序号
  • 使用redis-cli连接Redis数据库后,默认使用的是序号为0的数据库
select 8
select 12
#多数据库间切换

Redis默认支持16个数据库,索引从0-15

image-20240401221201968

13.2 多数据库间移动数据

命令格式

move 键值 序号
move name 7
#将当前数据库的name键移动到数据库7中,要确认数据库7中没有那个键

image-20240401221846037

13.3 清除数据库数据
  • flushdb:清空当前数据库数据
  • flushall:清空所有数据库的数据(谨慎使用)
flushdb
#清空当前数据库信息

flushall
#清空所有数据库信息(谨慎操作)

image-20240401222449716

image-20240401222640869

二、Redis数据类型

1、String数据类型

  • String是 redis 最基本的类型,最大能存储 512MB 的数据,String类型是二进制安全的,即可以存储任何数据、比如数字、图片、序列化对象等

2、List 数据类型

  • 列表的元素类型为string,按照插入顺序排序,在列表的头部或尾部添加元素

3、Hash数据类型 (散列类型)

  • hash用于存储对象。可以采用这样的命名方式(hash格式):对象类别和ID构成键名,使用字段表示对象的属性,而字段值则存储属性值。

4、set数据类型(无序集合)

  • 无序集合,元素类型为string类型,元素具有唯一性, 不允许存在重复的成员。多个集合类型之间可以进行并集、交集和差集运算

5、Sorted Set数据类型 (zset、有序集合)

  • 有序集合,元素类型为Sting,元素具有唯一性, 不能重复。
  • 每个元素都会关联–个double类型的分数score(表示权重),可以通过权重的大小排序,元素的score可以相同。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/509696.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

可视化大屏的行业应用(1):智慧生产和智能制造

可视化大屏在生产制造行业中具有重要的应用价值,主要表现在以下几个方面: 生产监控:可视化大屏可以实时显示生产线的运行状态和生产数据,包括设备运行状态、生产效率、产品质量等,帮助管理人员及时监控生产情况&#…

【新手适用】手把手教你从零开始实现一个基于Pytorch的卷积神经网络CNN三: 如何验证和测试模型

【新手适用】手把手教你从零开始实现一个基于Pytorch的卷积神经网络CNN二: 如何训练模型,内附详细损失、准确率、均值计算-CSDN博客 从零开始实现一个基于Pytorch的卷积神经网络 - 知乎 (zhihu.com) 1 初始化、导入模型和数据集 新建一个test.py文件&a…

Android的图片加载框架

Android的图片加载框架 为什么要使用图片加载框架?图片加载框架1. Universal Image Loader [https://github.com/nostra13/Android-Universal-Image-Loader](https://github.com/nostra13/Android-Universal-Image-Loader)2. Glide [https://muyangmin.github.io/gl…

SWM341系列SDRAM应用

SWM341系列SDRAM应用 1、不同的时钟频率下,SDRAM的初始化参数设置 现象:驱屏应用,显示一段时间后出现卡住的现象 分析:SDRAM的初始 化参数优化 主频150Mhz,建议配置CASL 3,TRFC ≥8。 主频100Mhz,ClkDiv可配置为1…

低压500kW 发电机组测试交流干式负载箱的工作方式

低压500kW发电机组测试交流干式负载箱是一种专门用于测试发电机组性能的设备,其主要功能是在发电机组运行过程中,通过模拟实际负载情况,对发电机组的输出功率、电压、电流等参数进行实时监测和调整,以确保发电机组在各种工况下的稳…

手写瀑布流

之前用vue-masonry实现瀑布流 <!DOCTYPE html> <html><head><meta http-equiv"content-type" content"text/html; charsetutf-8"><meta name"viewport" content"widthdevice-width,initial-scale1,maximum-sc…

算法——矩阵,被围绕的区域

. - 力扣&#xff08;LeetCode&#xff09; 最开始也是考虑使用dfs&#xff0c;对于矩阵中的每个点&#xff0c;如果能到达边界的O&#xff0c;则跳过继续dfs。否则如果上下左右四个方向都无法到达边界的O&#xff0c;则说明当前的无法到达&#xff0c;在一个set中记录他的行数…

AcWing刷题-游戏

游戏 DP l lambda: [int(x) for x in input().split()]n l()[0] w [0] while len(w) < n:w l()s [0] * (n 1) for i in range(1, n 1): s[i] s[i - 1] w[i]f [[0] * (n 1) for _ in range(n 1)]for i in range(1, n 1): f[i][i] w[i]for length in range(2, …

WordPress外贸建站Astra免费版教程指南(2024)

在WordPress的外贸建站主题中&#xff0c;有许多备受欢迎的主题&#xff0c;如Avada、Astra、Hello、Kadence等最佳WordPress外贸主题&#xff0c;它们都能满足建站需求并在市场上广受认可。然而&#xff0c;今天我要介绍的是一个不断颠覆建站人员思维的黑马——Astra主题。 原…

Java

1.学生和老师都会有work方法&#xff0c;学生的工作是学习&#xff0c;老师的工作是教书&#xff0c;我利用了一个接口来实现&#xff1b; 2.同时&#xff0c;老师和学生都是人&#xff0c;并且都有姓名&#xff0c;姓名&#xff0c;年龄和身高等特征&#xff0c;我用了一个继承…

Python基于PyQt5制作的一个上位机软件,用来控制一个Arduino四自由度机械臂

PyQt_Arduino 介绍 用PyQt5制作的一个上位机软件&#xff0c;用来控制一个Arduino四自由度机械臂。当然&#xff0c;为了扩展的需要&#xff0c;界面是按照六自由度机械臂制作的。 开发环境 系统&#xff1a; windows10 处理器: Intel Core™i7-8550U CPU 1.8GHz 2.00GHz …

服务器远程桌面连接不上怎么办?

随着互联网的发展和远程办公的兴起&#xff0c;服务器远程桌面连接成为了许多企业和个人不可或缺的工具。偶尔我们可能会碰到服务器远程桌面连接不上的情况&#xff0c;这时候我们需要找到解决办法&#xff0c;确保高效地远程访问服务器。 天联组网——突破远程连接障碍 在我们…

isaacgym 渲染黑屏

问题描述&#xff1a; isaacgym安装完IsaacGym_Preview_4_Package.tar.gz之后&#xff0c;运行python joint_monkey.py没有任何内容现实&#xff0c;但是终端还是正常输出信息。 环境是ubuntu22服务器&#xff0c;python3.8&#xff0c;nvidia Driver Version: 515.65.01 CUDA…

Linux shell编程学习笔记45:uname命令-获取Linux系统信息

0 前言 linux 有多个发行版本&#xff0c;不同的版本都有自己的版本号。 如何知道自己使用的Linux的系统信息呢&#xff1f; 使用uname命令、hostnamectl命令&#xff0c;或者通过查看/proc/version文件来了解这些信息。 我们先看看uname命令。 1 uname 命令的功能和格式 …

如何合理利用chatgpt写高质量新闻稿,10分钟速成(五)

演示站点&#xff1a; https://www.cnsai.net/ 论文模块 官方论坛&#xff1a; www.jingyuai.com 京娱AI下载源码 人工智能&#xff08;AI&#xff09;技术作为当今科技创新的前沿领域&#xff0c;为创业者提供了广阔的机会和挑战。随着AI技术的快速发展和应用领域的不断拓展&a…

大模型之路2:继续趟一条小路

继续趟一条小路&#xff0c;可谓是充满了曲折&#xff0c;当然&#xff0c;必不可少的还是坑。 吐槽 看过的喷友&#xff0c;其实你看完以后&#xff0c;大概率也就是和我一起骂骂街&#xff0c;因为....我也的确没理清楚。 我也不知道做错了什么&#xff0c;就是运行不过去…

探索 ZKFair 的Dargon Slayer蓝图,解锁新阶段的潜力

在当前区块链技术的发展中&#xff0c;Layer 2&#xff08;L2&#xff09;解决方案已成为提高区块链扩容性、降低交易成本和提升交易速度的关键技术&#xff0c;但它仍面临一些关键问题和挑战&#xff0c;例如用户体验的改进、跨链互操作性、安全性以及去中心化程度。在这些背景…

马上蓝桥了,干货总结基础树论知识点

目录 今日知识点&#xff1a;对于每个子树如果和小于0就返回0&#xff1b;如果大于0就直接返回。 注意异或的性质&#xff0c;偶消奇不消&#xff0c;所以lca上面的都消掉了&#xff0c;并不需要跑lca&#xff0c;也就是说只需要把根到所有点的距离跑出来即可 如果上传过来小…

Redis如何实现分布式锁,单机Redis与集群Redis问题解决方案

场景1&#xff1a;在单机场景下&#xff0c;可以通过同步锁进行加锁 在单机系统下&#xff0c;该场景是适用的&#xff0c;所有的线程都需要等待同步锁释放 场景2&#xff1a;分布式场景下的分布式锁 场景1中的代码不适用与分布式系统&#xff0c;因为上述的同步锁是JVM层次的…

如何在CentOS安装StackEdit Markdown编辑器并实现无公网IP远程访问使用

最近&#xff0c;我发现了一个超级强大的人工智能学习网站。它以通俗易懂的方式呈现复杂的概念&#xff0c;而且内容风趣幽默。我觉得它对大家可能会有所帮助&#xff0c;所以我在此分享。点击这里跳转到网站。 文章目录 前言1. ubuntu安装VNC2. 设置vnc开机启动3. windows 安…