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

Redis的基础知识

目录

一、什么是Redis

二、关于Redis的一些基本知识

(1)set命令

(2)get命令

三、Redis中的一些常用命令

(1)keys

(2)exists 

(3)type

(4)del

(5)expire

(6)ttl

(7)persist


一、什么是Redis

Redis是一个使用ANSI C编写的开源、包含多种数据结构、支持网络、基于内存、可选持久性的键值对存储数据库。

对!他也是数据库,与MySQL一样是数据库,但一定要主要他们还是有很大的不同点的

特性:

  • 基于内存运行,性能高效
  • 支持分布式,理论上可以无限扩展
  • key-value存储系统
  • 开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API

二、关于Redis的一些基本知识

Redis是一个字典结构的存储服务器,一个Redis实例提供了多个用来存储数据的字典,客户端可以指定将数据存储在哪个字典中。

这与在一个关系数据库实例中可以创建多个数据库类似(如下图所示),所以可以将其中的每个字典都理解成一个独立的数据库。

Redis默认支持16个数据库,可以通过调整Redis的配置文件redis/redis.conf中的databases来修改这一个值,设置完毕后重启Redis便完成配置。

(1)set命令

set命令是像数据库中增添数据的,格式如下:

set  键   值

(2)get命令

从数据库中通过键来获取值的,格式如下:

get 键

三、Redis中的一些常用命令

(1)keys

语法结构:
 keys *   查看当前库中的所有key
有三个通配符:
 *:通配任意多个字符
 ?:通配单个字符
 []:通配括号内的某一个字符

注意:生产以及禁止,因为长时间阻塞redis而导致其他客户端的命令请求一直处于阻塞状态。更安全的做法是采用scan

如下:

(2)exists 

判断某个key是否存在,返回1表示存在,0不存在。

语法结构:

exists key

示例:

#查看k1是否存在,如果存在返回1

exists k1

#查看k1 k2 k3是否存在,如果k1 k2存在,k3不存在,则返回2

exists k1 k2 k3

注意:

可以设置多个key,只返回存在的个数,但不返回哪一个存在/不存在

(3)type

查看当前key 所储存的值的类型。返回当前key所储存的值的类型,如string 、list等。

语法结构:

type key

示例:

type k1

(4)del

删除已存在的key,不存在的 key 会被忽略。

语法结构:

del key

示例:

可以设置多个key,返回删除成功的个数。

# 删除k1,如果成功返回1,失败返回0

del k1

# 删除k1 k2 k3,如果k1 k2存在,k3不存在,则返回2

del k1 k2 k3

(5)expire

给key设置time秒的过期时间。设置成功返回 1 。 当 key 不存在返回 0。

语法结构:

expire key time

示例:

# 给k1设置10秒后过期

expire k1 10

(6)ttl

以秒为单位返回 key 的剩余过期时间。

语法结构:

ttl key

示例:

ttl k1

注意:

当 key 不存在时,返回 -2 。 当 key 存在但没有设置剩余生存时间时,返回 -1 。 否则,以秒为单位,返回 key 的剩余生存时间。

(7)persist

移除给定 key 的过期时间,使得 key 永不过期。

语法结构:

persist key

示例:

persist k1

注意:

当过期时间移除成功时,返回 1 。 如果 key 不存在或 key 没有设置过期时间,返回 0 。

 

http://www.lryc.cn/news/107240.html

相关文章:

  • Sorting Layer与Order in Layer
  • 动手学深度学习—卷积神经网络(原理解释+代码详解)
  • 环球数科、BUFFALO面试(部分)
  • RabbitMQ快速入门
  • 使用Git在GitHub上部署静态页面
  • SQL-每日一题【1084. 销售分析III】
  • Redis 软件包,在 CentOS 7 中安装 Redis
  • 01.Redis实现发送验证码保存功能
  • C++STL——deque容器详解
  • docker 哨兵模式和集群模式安装Redis7.0.12
  • go nil 与零值
  • puppeteer监听response并封装为express服务调用
  • kubernetes之Ingress
  • 前端实现打印1 - 使用 iframe 实现 并 分页打印
  • MIAOYUN获评“2023年度一云多芯稳定安全运行优秀案例”
  • 论文代码学习—HiFi-GAN(4)——模型训练函数train文件具体解析
  • 安防视频综合管理合平台EasyCVR可支持的视频播放协议有哪些?
  • 一张表格讲明白white-space属性。html如何识别\n\r,让这些特殊换行符换行。
  • 【Linux】编写shell脚本将项目前一天打印的日志进行提取,并且单独保存
  • 快速搭建单机RocketMQ服务(开发环境)
  • Centos7搭建Apache Storm 集群运行环境
  • C语言假期作业 DAY 12
  • 2.4在运行时选择线程数量
  • element-ui中Notification 通知自定义样式、按钮及点击事件
  • 无头单向非循环单链表、带头双向循环链表
  • UE4/5C++多线程插件制作(二十、源码)
  • 构建稳健的PostgreSQL数据库:备份、恢复与灾难恢复策略
  • 查看本地mysql账号密码
  • 数据结构:顺序表详解
  • 采集数据筛选-过滤不要数据或只保留指定数据