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

网站icp备案代理河南网站建设企业

网站icp备案代理,河南网站建设企业,网络营销方式英语,wordpress浮窗音乐目录 Redis通用命令Redis中最核心的两个命令getset Redis全局命令keys语法注意事项 existsdel(delete)expirettlredis的key的过期策略是怎么实现的#xff1f;了解拓展 type总结 Redis通用命令 Redis的命令非常非常多#xff0c;所以 1. 掌握常用命令#xff08;多操作练习… 目录 Redis通用命令Redis中最核心的两个命令getset Redis全局命令keys语法注意事项 existsdel(delete)expirettlredis的key的过期策略是怎么实现的了解拓展 type总结 Redis通用命令 Redis的命令非常非常多所以 1. 掌握常用命令多操作练习 2. 学会使用Redis的文档Redis官方链接 Redis中最核心的两个命令 get 根据key来取valueset 把key和value存储进去 key和value本质都是字符串必须要进入redis客户端才能执行redis命令 set key value redis中的命令不区分大小写 get key get命令直接输入key就能得到value如果当前key不存在会返回一个nui 和 null/NULL是一个意思 Redis全局命令 Redis支持很多种数据结构整体来说Redis是键值对结构key固定就是字符串value实际上会有很多种类型常用的有 字符串哈希表列表集合有序集合————操作不同的数据结构就会有不同的命令 全局命令就是能够任意搭配任意一个数据结构来使用的命令 keys 用来查询当前服务器上匹配的key通过一些特殊符号通配符来描述key的模样匹配上述模样的key就能被查询出来 语法 keys pattern/*pattern 用来描述另外的字符串是长什么样的 具体写法支持那些通配符 1. 匹配任意一个字符 2. * 匹配0个或者多个任意字符 3. [abcde] 只能匹配到a,b,c,d,e 4. [^e] 排除e只有e匹配不了其他的都能匹配 5. [a-b] 匹配a-b这个范围内的字符包含两侧边界 */匹配任意一个字符 *** ** 匹配0个或者多个任意字符 [abcde] 只能匹配到a,b,c,d,e [^e] 排除e只有e匹配不了其他的都能匹配 [a-b] 匹配a-b这个范围内的字符包含两侧边界 注意事项 keys的时间复杂度为O(n),所以在生产环境上一般都会禁止使用keys命令尤其是keys 生产环境上的keys可能会非常的多而redis是一个单线程的服务器执行keys*的时间非常长就导致redis服务器被阻塞了无法给其他客户端提供服务 redis经常会用于做缓存挡在mysql的前面玩意Redis被一个kesy*阻塞住此时其他的redis操作就超时了此时这些请求就会直接查数据库突然有一大波请求过来mysql措手不及就容易挂从而导致整个系统直接瘫痪exists EXISTS key [key ...] 判断某个key是否存在 返回值key存在的个数。 针对多个key来说是非常有用的 时间复杂度 O(1) ———— redis组织这些key就是按照哈希表的方式来组织的 相当于unordered_mapkey,valuedel(delete) DEL key [key ...] 删除指定的key,可以一次删除一个或者多个在之前学mysql的时候删除类的操作就很危险一旦删除了之后数据局就没了 但是redis主要的应用场景就是作为缓存此时 redis里存的只是热点数据 全量数据存在mysql数据库中此时如果把redis中的key删除了几个一般来说问题不大 如果把redis作为数据库此时误删数据影响就大了expire EXPIRE key seconds 时间复杂度 O(1) 返回值1表示成功0表示设置失败 设置毫秒: pexpire key ms 作用是给指定的key设置过期时间key存活时间超出这个指定的值就会被自动删除 比如手机验证码几分钟内有效就可以用到还有外卖优惠券在指定时间之内有效等ttl TTL key 获取指定的过期时间 返回值剩余的过期时间。 -1表示没有关联过期时间-2表示key不存在 redis的key的过期策略是怎么实现的 一个redis中可能同时存在很多很多key这些key中可能有很大一部分都有过期时间此时redis服务器咋知道哪些key已经过期要被删除哪些key还没过期 如果直接遍历所有的key显然是行不通的效率非常低 Redis整体的策略是 定期删除 ​ 惰性删除 什么叫惰性删除假设这个key已经到时间了但是暂时还没删除它key还存在紧接着后面又一次访问正好用到了这个key于是这次访问会让redis服务器触发删除key的操作同时返回一个nil——————感觉这种方式有点像单例模式里的懒汉模式为什么对于定期删除的时间有明确的要求 因为redis是单线程的程序如果扫描过期key消耗的时间太长正常处理请求命令就被阻塞了虽然有了这两种策略结合但是整体效果一般仍然会有很多过期的key残留没有及时删除掉所以redis为了对上述进行补充还提供了一系列的内存淘汰策略 了解拓展 定时删除设置定时器在时间到了之后对其删除。 redis中并没有采取定时器的方式来实现过期key的删除所以定期删除和定时器并没有关系 定时器在某个时间到达之后执行指定的任务 实现方式 基于优先级队列/堆 在redis过期key的场景中就可以通过“过期时间越早优先级越高”过期时间早的先出队列。也就意味着此时定时器中只要分配一个线程让这个线程去检查队首元素看是否过期即可如果队首元素还没过期后续元素一定没有过期。扫描线程不需要遍历所有的key只盯住这一个队首元素即可另外在扫描线程检查队首元素过期时间的时候也不能检查的太频繁此时做法就可以根据当前时刻和队首元素的过期时间设置一个等待时间等时间差不多到了系统再唤醒在这个线程。——此时扫描线程不需要高频扫描队首元素把CPU的开销也省了下来。 基于时间轮实现的定时器 把时间划分成很多小段没小段上都挂着一个链表每个链表都代表一个要执行的任务相当于一个函数指针每次走到一个格子就会把这个格子上的链表的任务尝试执行以下。 Redis并没有采取上述的方案 type 语法TYPE key 时间复杂度:O(1) 返回值key对应的vualue的数据类型[none,string,list,set,zset,hash,stream,...]总结 keys:用来查看匹配规则的keyexists用来判定指定key是否存在del删除指定的keyexpire给key设置过期时间ttl查询key的过期时间type查询key对应的value的类型
http://www.dnsts.com.cn/news/82660.html

相关文章:

  • 温州网站开发太原seo排名外包
  • 设计师必备的6个网站logo在线制作神器
  • 佛山市外贸网站建设价格wordpress主标题副标题
  • 国外免费源码网站网站备案信息查询接口
  • 自适应微网站开发建设银行报网站
  • dede游戏网站模板三星网上商城下载
  • 手机网站建设教程视频做特产网站
  • 商务网站的功能和建设个人app
  • 网站建设常出现的问题微信网站方案
  • 个人艺术作品网站建设策划书织梦怎么做的网站
  • dw做的网站要多大继电器做网站
  • 站优云网络公司个人可以做电视台网站吗
  • 桂林天然网络科技有限公司厦门市做网站优化
  • 世界建筑设计网站品牌建设ppt
  • 哈尔滨做网站的oeminc做满屏网站的尺寸
  • 如何创建公司常州建站优化
  • 做it的兼职网站怎么提升网站收录
  • 网站前台功能模块介绍网站建设数据库ER图怎么画
  • 自己如何做网站京东联盟怎么做CMS网站
  • wordpress 两个网站吗如何管理手机网站首页
  • 西安网站推广公司焦作网站建设哪家专业
  • 怎样将视频代码上传至网站信用中国网站建设要求
  • 网站管理后台密码忘记了wordpress商城分銷
  • 建站宝盒免费下载企业做网站方案
  • 网站如何做监测链接网站可以做外部链接吗
  • 公益平台网站怎么做网络管理系统页面
  • 芜湖做网站的公司搜索引擎有哪些类型
  • 中心网站建设方法做建材商城网站
  • 开商城网站多少钱wordpress数据库怎么替换链接
  • 网站开发如何学习企业网站建设方法