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

有没有专业做特产的网站乌克兰服装网站建设

有没有专业做特产的网站,乌克兰服装网站建设,品牌网十大品牌排行榜,电子商务网站建设与完整实例目录1. redis中最核心的两个命令 get 、set2. keys:用来查询当前服务器上匹配的 key3. exists :判定 key 是否存在4. del:删除指定的 key5. expire:作用是给指定的 key 设置过期时间,key 存活时间超出这个指定的值&…

目录

    • 1. redis中最核心的两个命令 get 、set
    • 2. keys:用来查询当前服务器上匹配的 key
    • 3. exists :判定 key 是否存在
    • 4. del:删除指定的 key
    • 5. expire:作用是给指定的 key 设置过期时间,key 存活时间超出这个指定的值,就会被自动删除
    • 6. ttl:查看当前 key 的过期时间还剩多少
    • 7. redis 的 key 的过期策略是怎么实现的?[经典面试题]
    • 8. type:返回 key 所对应的 value 的类型

redis 是按照键值对的方式存储数据的,key 固定就是字符串,value 实际上会有很多类型,比如字符串、哈希表、列表、集合、有序集合等
必须要先进入 redis-cli 客户端程序,才能输入redis 命令

1. redis中最核心的两个命令 get 、set

set :把 key 和 value 存进去;
get :根据 key 来取 value,直接输入 key 就能得到 value,如果当前的 key 不存在,会返回 nil,和 null 是一个意思;
(key 和 value 都是字符串)
在这里插入图片描述

2. keys:用来查询当前服务器上匹配的 key

通过一些特殊符号(通配符)来描述 key 的模样,匹配上述模样的key 就能被查询出来
语法:

KEYS pattern

patten 具体是咋写的,支持哪些通配符呢?
?匹配任意一个字符:
在这里插入图片描述
*匹配0个或者多个任意字符:
在这里插入图片描述
[abcde]只能匹配到 abcde,别的不行,相当于给出固定的选项了:

在这里插入图片描述
[^e]排除e,只有e匹配不了,其他的都能匹配:
在这里插入图片描述
[a-b] 匹配 a-b 这个范围内的字符,包含两侧边界:
在这里插入图片描述
生产环境中,一般都会禁止使用 keys *(查询 redis 中所有的 key),生产环境上的 key 可能会非常多,而 redis 是一个单线程的服务器,执行keys*的时间非常长,就使 redis 服务器被阻塞了,无法给其他客户端提供服务

3. exists :判定 key 是否存在

语法:

EXISTS key [key...]

返回值:key 存在的个数
时间复杂度:O(1)
在这里插入图片描述
尽量不要分开写,比如:
在这里插入图片描述
因为 redis 是一个 客户端 服务器 结构的程序,客户端和服务器之间通过网络来进行通信!分开的写法,会产生更多轮次的网络通信,导致效率比较低,成本比较高(和直接操作内存相比)

4. del:删除指定的 key

语法:

DEL key [key ...]

返回值:删除掉的 key 的个数
时间复杂度:0(1)
在这里插入图片描述
del 同样是很危险的操作,要谨慎使用

5. expire:作用是给指定的 key 设置过期时间,key 存活时间超出这个指定的值,就会被自动删除

设置的时间单位是
语法:

EXPIRE key seconds

时间复杂度: O(1)
此处的设定过期时间,必须是针对已经存在的 key 设置,设置成功返回 1,设置失败返回 0 。

补充:pexpire key 亳秒(时间单位是毫秒)

在这里插入图片描述

6. ttl:查看当前 key 的过期时间还剩多少

在这里插入图片描述

补充:pttl,和 pexpire key 亳秒 一样是毫秒级

7. redis 的 key 的过期策略是怎么实现的?[经典面试题]

一个 redis 中可能同时存在很多很多 key,这些 key 中可能有很大一部分都有过期时间,此时, redis 服务器咋知道哪些 key 已经过期要被删除,哪些 key 还没过期?
redis 整体的策略是:定期删除和惰性删除结合

  • 定期删除:
    每次定期抽取一部分 key ,进行验证过期时间(保证这个抽取检查的过程,足够快)

为啥这里对于定期删除的时间,有明确的要求呢?
因为 redis 是单线程的程序,主要的任务(处理每个命令的任务,扫描过期key )都在一个线程上进行,如果扫描过期key 消耗的时间太多了,就可能导致正常处理请求命令就被阻塞了。(产生了类似于执行 keys * 这样的效果)

  • 惰性删除
    假设这个 key 已经到过期时间了,但是暂时还没删它,key 还存在,紧接着,后面又一次访问,正好用到了这个 key,于是这次访问就会让 redis 服务器触发删除 key 的操作,同时再返回一个 nil

8. type:返回 key 所对应的 value 的类型

返回值: none , string , list , set , zset , hash and stream 。
时间复杂度:O(1)

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

相关文章:

  • 提供网站建设案例旅游业网站开发建设
  • 百度网站是怎么做的平面设计网站首页
  • 光辉网站建设做网站的备案
  • php做的网站建设网站开发 定制
  • C Primer Plus 12.9 编程练习
  • 设计网站客户体验那个网站可以做logo
  • 汕头网站建设备案深圳注册公司的基本流程
  • 京东电子商务网站建设广告制作公司
  • 图跃企业网站建设小程序怎么放在桌面
  • 海口省建设厅网站北京壹同制作
  • 提供佛山顺德网站设计购物网站单页模板
  • 【脑电情绪识别】基本流程
  • 深圳快速网站制作哪里好北京公司模板网站
  • 手机网站如何做优化规划电子商务网站流程
  • 从零开始刷算法-栈-字符串解码
  • 网站建设开票多少个点关键词挖掘爱网站
  • 网站负责人可以备案网站怎么备案在哪里
  • 郑州网站制作公司哪家好建筑工程公司经营范围
  • 网站站长统计怎么做哪里有做设备的
  • 广西南宁建设银行招聘网站招标网站官网
  • 深圳求职网站哪个好做网站和网页的目的和作用是什么
  • 佛山做网站业务工资衣联网和一起做网站 哪家强
  • 网络营销之网站建设青岛 企业网站建站
  • 临沂中小企业网站制作网页制作教程哔哩
  • 主域名进入网站网络工具下载
  • 怎样找公司做单的网站郑大二附院网站建设招标
  • 平台网站开发五大电商平台都有哪些
  • 推广网站2024WordPress电脑与手机
  • 深圳市龙岗区住房和建设局官网网站建设中专网站首页
  • 深圳企业营销型网站营销型网站的公司