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

网站建设预算项目新网域名注册查询

网站建设预算项目,新网域名注册查询,宁波企业网站制作要多少钱,品牌策划与管理大家好#xff0c;我是白晨#xff0c;一个不是很能熬夜#xff0c;但是也想日更的人。如果喜欢这篇文章#xff0c;点个赞#x1f44d;#xff0c;关注一下#x1f440;白晨吧#xff01;你的支持就是我最大的动力#xff01;#x1f4aa;#x1f4aa;#x1f4aa…大家好我是白晨一个不是很能熬夜但是也想日更的人。如果喜欢这篇文章点个赞关注一下白晨吧你的支持就是我最大的动力 文章目录 Redis数据类型之String介绍常用指令设置/获取单个键值设置/获取多个键值设置/获取指定区域范围内的值数值增减获取字符串长度内容追加set命令的更多扩展setexsetnx[EX seconds][NX][XX][KEEPTTL] getset 常用指令汇总String常用命令汇总set命令参数汇总 应用场景缓存计数器分布式锁Session共享 总结特性常用指令set命令的扩展参数应用场景 Redis数据类型之String 介绍 String是Redis最基本的类型一个key对应一个value。key为标识符value为key对应的值。 String是二进制安全的意思是Redis的String可以包含任何数据比如jpg图片或者序列化的对象 。 String类型是Redis最基本的数据类型一个Redis中字符串value最多可以是512M。 常用指令 设置/获取单个键值 # 设置指定 key 的值 127.0.0.1:6379 set name baichen OK # 获取指定 key 的值 127.0.0.1:6379 get name baichen设置/获取多个键值 # 同时设置一个或多个 key-value 对 127.0.0.1:6379 mset k1 v1 k2 v2 k3 v3 OK # 获取所有(一个或多个)给定 key 的值 127.0.0.1:6379 mget k1 k2 k3 1) v1 2) v2 3) v3设置/获取指定区域范围内的值 # 返回 key 中字符串值从下标 start 到下标 end 的子字符串 127.0.0.1:6379 getrange name 0 -1 # 0 -1表示从字符串开头到字符串结尾 baichen12345 127.0.0.1:6379 getrange name 7 -1 12345 127.0.0.1:6379 getrange name 0 6 baichen # 用 value 参数覆写给定 key 所储存的字符串值从偏移量 offset 开始 127.0.0.1:6379 setrange name 7 6789 # 从offset7的位置设置字符串6789 (integer) 12 127.0.0.1:6379 get name baichen67895数值增减 127.0.0.1:6379 set number 1 OK # 将 key 中储存的数字值增一 127.0.0.1:6379 incr number (integer) 2 127.0.0.1:6379 get number 2 # 将 key 所储存的值加上给定的增量值increment 127.0.0.1:6379 incrby number 3 (integer) 5 127.0.0.1:6379 get number 5 # 将 key 中储存的数字值减一 127.0.0.1:6379 decr number (integer) 4 127.0.0.1:6379 get number 4 # key 所储存的值减去给定的减量值decrement 127.0.0.1:6379 decrby number 3 (integer) 1 127.0.0.1:6379 get number 1获取字符串长度 127.0.0.1:6379 set name baichen OK # 返回 key 所储存的字符串值的长度 127.0.0.1:6379 strlen name (integer) 7内容追加 # 如果 key 已经存在并且是一个字符串APPEND 命令将 value 追加到 key 原来的值的末尾 127.0.0.1:6379 set name baichen OK 127.0.0.1:6379 append name 12345 (integer) 12 127.0.0.1:6379 get name baichen12345set命令的更多扩展 setex # 将值 value 关联到 key 并将 key 的过期时间设为 seconds (以秒为单位) 127.0.0.1:6379 setex k1 10 v1 # 设置 10 秒过期时间 OK 127.0.0.1:6379 get k1 v1 127.0.0.1:6379 ttl k1 # 获取剩余过期时间 (integer) 5 127.0.0.1:6379 ttl k1 (integer) -2 127.0.0.1:6379 get k1 # k1 已过期 (nil)setnx # 只有在 key 不存在时设置 key 的值 127.0.0.1:6379 setnx k2 v2 (integer) 0 127.0.0.1:6379 get k2 v2 127.0.0.1:6379 setnx k2 baichen (integer) 0 127.0.0.1:6379 get k2 # 值没有发生变化 v2[EX seconds] # 设置 key 的生存时间为指定的秒数等价于setex 127.0.0.1:6379 set k1 v1 ex 10 OK 127.0.0.1:6379 get k1 v1 127.0.0.1:6379 ttl k1 (integer) 5 127.0.0.1:6379 ttl k1 (integer) -2 127.0.0.1:6379 get k1 (nil)[NX] # 只有在 key 不存在时才设置SET if Not eXists等价于setnx 127.0.0.1:6379 set k1 v1 nx OK 127.0.0.1:6379 get k1 v1 127.0.0.1:6379 set k1 baichen nx (nil) 127.0.0.1:6379 get k1 v1[XX] # 只有在 key 已经存在时才设置SET if eXists 127.0.0.1:6379 set k1 v1 xx # k1 没有设置时设置不了 k1 的值 (nil) 127.0.0.1:6379 get k1 (nil) 127.0.0.1:6379 set k1 v1 OK 127.0.0.1:6379 set k1 baichen xx # 只有 k1 有值时才能设置value OK 127.0.0.1:6379 get k1 baichen[KEEPTTL] # 在使用 NX 或 XX 选项时保持原有的过期时间Keep Time To Live 127.0.0.1:6379 set k1 v1 ex 20 OK 127.0.0.1:6379 ttl k1 (integer) 19 127.0.0.1:6379 set k1 baichen keepttl OK 127.0.0.1:6379 get k1 baichen 127.0.0.1:6379 ttl k1 # 继承了旧 k1 的过期时间如果不使用keepttl参数过期时间会按照新 k1 的设置重置 (integer) 9 127.0.0.1:6379 ttl k1 (integer) -2getset # 将给定 key 的值设为 value 并返回 key 的旧值(old value) 127.0.0.1:6379 set k1 v1 OK 127.0.0.1:6379 getset k1 baichen v1 127.0.0.1:6379 get k1 baichen常用指令汇总 String常用命令汇总 命令描述SET key value设置指定 key 的值GET key获取指定 key 的值GETRANGE key start end返回 key 中字符串值从下标 start 到下标 end 的子字符串GETSET key value将给定 key 的值设为 value 并返回 key 的旧值(old value)GETBIT key offset对 key 所储存的字符串值获取指定偏移量上的位(bit)MGET key1 [key2..]获取所有(一个或多个)给定 key 的值SETBIT key offset value对 key 所储存的字符串值设置或清除指定偏移量上的位(bit)SETEX key seconds value将值 value 关联到 key 并将 key 的过期时间设为 seconds (以秒为单位)SETNX key value只有在 key 不存在时设置 key 的值SETRANGE key offset value用 value 参数覆写给定 key 所储存的字符串值从偏移量 offset 开始STRLEN key返回 key 所储存的字符串值的长度MSET key value [key value ...]同时设置一个或多个 key-value 对MSETNX key value [key value ...]同时设置一个或多个 key-value 对当且仅当所有给定 key 都不存在PSETEX key milliseconds value这个命令和 SETEX 命令相似但它以毫秒为单位设置 key 的生存时间而不是像 SETEX 命令那样以秒为单位INCR key将 key 中储存的数字值增一INCRBY key increment将 key 所储存的值加上给定的增量值incrementINCRBYFLOAT key increment将 key 储存的值加上给定的浮点增量值incrementDECR key将 key 中储存的数字值减一DECRBY key decrementkey 所储存的值减去给定的减量值decrementAPPEND key value如果 key 已经存在并且是一个字符串APPEND 命令将 value 追加到 key 原来的值的末尾 set命令参数汇总 命令全称及参数描述SET key value设置指定 key 的值[NX]只有在 key 不存在时才设置SET if Not eXists[XX]只有在 key 已经存在时才设置SET if eXists[EX seconds]设置 key 的生存时间为指定的秒数[PX milliseconds]设置 key 的生存时间为指定的毫秒数[EXAT unix-time-seconds]设置 key 从给定的 Unix 时间戳开始生存单位为秒[PXAT unix-time-milliseconds]设置 key 从给定的 Unix 时间戳开始生存单位为毫秒[KEEPTTL]在使用 NX 或 XX 选项时保持原有的过期时间Keep Time To Live 应用场景 缓存 在用 Redis 作为缓存时String 类型通常用于存储会频繁被读取但更新不是非常频繁的数据。 比如 缓存用户会话 当用户登录系统后其会话信息可以存储在 Redis 中以便于快速验证用户状态。 缓存网页内容 对于不经常变动的网页内容如网站的静态页面可以缓存在 Redis 中以减少数据库的访问次数。 # 将用户会话信息缓存起来 127.0.0.1:6379 SET session:12345 {username:kimi,permissions:admin} EX 3600 OK # 读取缓存的用户会话信息 127.0.0.1:6379 GET session:12345 {\username\:\kimi\,\permissions\:\admin\} # 缓存某个商品的详情页内容 127.0.0.1:6379 SET product:54321 html商品详情页的内容/html EX 300 OK # 读取缓存的商品详情页内容 127.0.0.1:6379 GET product:54321 html商品详情页的内容/html计数器 Redis 的 String 类型除了可以存储简单的字符串外还可以用作计数器。这是因为 Redis 的 String 在内部是二进制安全的所以不仅可以存储文本数据还可以存储任何格式的二进制数据包括整数。 比如统计某个帖子的点赞数 # 假设有一个帖子的ID为1234初始化点赞计数器 127.0.0.1:6379 SET post:likes:1234 0 OK # 用户A点赞增加点赞数 127.0.0.1:6379 INCR post:likes:1234 (integer) 1 # 用户B点赞继续增加点赞数 127.0.0.1:6379 INCR post:likes:1234 (integer) 2 # 获取当前的点赞数以展示 127.0.0.1:6379 GET post:likes:1234 2 # 用户A取消点赞减少点赞数 127.0.0.1:6379 DECR post:likes:1234 (integer) 1 # 如果需要给点赞数增加一个特定的数值比如一次性增加10个赞 127.0.0.1:6379 INCRBY post:likes:1234 10 (integer) 11 # 再次获取当前的点赞数 127.0.0.1:6379 GET post:likes:1234 11分布式锁 Redis 的 String 类型可以被用作实现分布式锁这在分布式系统中用于确保资源在多个进程或多个服务器之间被同步访问。分布式锁的关键在于能够安全地获取和释放锁并且能够在持有锁的进程崩溃时能够安全地释放锁。 以下是使用 Redis String 类型实现分布式锁的一个基本示例 获取锁 使用 SET 命令结合 NXNot eXists和 PX毫秒为单位设置超时时间选项来获取锁。释放锁 执行完临界区的操作后通过 DEL 命令删除锁。锁超时 使用 SET 命令设置锁的同时可以设置一个过期时间这样即使持有锁的进程崩溃锁也会在一定时间后自动释放。锁续约 如果锁持有者仍然需要这个锁它可以在锁即将过期前续约。 # 尝试获取锁lock:key 是锁的键lockvalue 是锁的值用于后续识别和释放锁10000 是锁的超时时间单位为毫秒 SET lock:key lockvalue NX PX 10000# 如果 SET 命令成功那么获取到了锁可以执行临界区的代码 # 执行临界区操作...# 释放锁通过 DEL 命令删除锁 DEL lock:key在实际应用中为了确保锁的安全性还需要考虑以下几个因素 锁超时如果进程在持有锁期间崩溃需要锁能够自动释放。这可以通过 SET 命令的 PX 选项实现。锁续约如果临界区的操作还没有完成但是锁快要过期持有锁的进程应该能够续约这个锁。锁识别在释放锁时需要确保是同一个进程释放了锁。这可以通过检查锁的值lockvalue来实现。避免锁的错位使用 GETSET 命令来原子地替换锁的值如果当前锁的值与预期的锁值匹配则可以安全地删除锁。原子性使用lua脚本可以用来确保一系列命令的原子性执行。 分布式锁的请求流程如下图所示 用Redis实现分布式锁有以下几种形式 一个实现良好的分布式锁流程图如下 Session共享 在开发后台管理系统或任何Web应用程序时Session通常用于跟踪用户的登录状态和会话信息。在传统的单体应用架构中Session信息存储在服务器的内存中与用户的会话直接关联。这种模式下用户的所有请求通常都会发送到同一个服务器因此服务器能够识别并维护用户的会话状态。 然而在分布式系统中应用被部署在多个服务器上并且用户的请求可能会被负载均衡器随机分配到不同的服务器。这种架构下每个服务器都是独立的并且可能没有其他服务器上的Session信息。这就导致了一个问题如果用户的Session信息存储在特定的服务器上当用户下一次请求被分配到不同的服务器时该服务器将无法识别用户的会话从而导致用户需要重新登录。 为了解决这个问题可以采用Session共享策略。 Session共享策略 通过某种机制如使用一个共享的Session存储例如Redis、Memcached等使得所有服务器都能够访问相同的Session信息。这样无论用户的请求被分配到哪台服务器服务器都能够识别用户的会话状态。 总结 特性 String是Redis中最基本的数据类型采用key-value形式存储。它是二进制安全的可以存储任何类型的数据如图片或序列化的对象。一个String类型的value最多可以存储512M的数据。 常用指令 SET / GET设置和获取单个键值。MSET / MGET同时设置或获取多个键值。GETRANGE / SETRANGE获取或设置字符串的指定区域。INCR / DECR数值增减操作。STRLEN获取字符串长度。APPEND追加内容到现有字符串。SETEX / PSETEX设置键值并指定过期时间秒/毫秒。SETNX仅当键不存在时设置值。GETSET设置新值并获取旧值。其他位操作指令SETBIT / GETBIT。 set命令的扩展参数 NX仅当键不存在时设置。XX仅当键已存在时设置。EX / PX设置键的过期时间秒/毫秒。KEEPTTL保持原有的过期时间。 应用场景 缓存用于存储频繁读取且更新不频繁的数据如用户会话和网页内容。计数器用于统计数据如帖子的点赞数。分布式锁用于在分布式系统中同步资源访问确保安全地获取和释放锁。Session共享在分布式Web应用中共享Session信息以维持用户状态。 如果讲解有不对之处还请指正我会尽快修改多谢大家的包容。 如果大家喜欢这个系列还请大家多多支持啦 如果这篇文章有帮到你还请给我一个大拇指 和小星星 ⭐️支持一下白晨吧喜欢白晨【Redis】系列的话不如关注白晨以便看到最新更新哟 我是不太能熬夜的白晨我们下篇文章见。
http://www.zqtcl.cn/news/887533/

相关文章:

  • 网站设计的公司运营接单百度搜索引擎首页
  • 最专业的做网站公司有哪些成都龙泉建设有限公司网站
  • 云南省玉溪市建设局官方网站wordpress 迁移 空白
  • 网站空间和数据库多个织梦dedecms网站怎么做站群
  • 网站模块插件是怎么做的个人建设网站流程图
  • 作品展示的网站建设网站方案
  • 整站优化哪家专业网站漏洞解决办法
  • 怎么给自己的网站做扫描码南宁seo排名外包
  • 网站的服务器在哪里怎么建设网站啊
  • 山东做网站三五网站备案怎样提交到管局
  • 自己如何做网站教程中山企业网站推广公司
  • 网站每年费用本地同城服务平台
  • 暗网网站有那些青岛网站设计公司推荐
  • 营业执照咋做网等网站遂宁网站建设公司哪家好
  • 湖南平台网站建设找哪家重庆网站建设营销
  • wordpress搭建企业网站小型网络架构
  • 淘宝联盟链接的网站怎么做培训网站排名
  • 上海高端网站建设定制大连开发区邮编
  • 手机网站公司免费crm软件下载
  • 家居企业网站建设平台周口seo
  • 扁平化网站建设公司广告推广方案
  • 高端企业网站 程序北京做网站费用
  • net做网站遇到的问题搜索引擎优化方法
  • 专业的设计网站有哪些网站数据库做好了 怎么做网页
  • 鄂州网站建设公司网站制作过程教程
  • 网站建设课程小结二建证考试需要什么条件
  • 比较好的商城网站设计品牌策划案
  • 自适应科技公司网站模板做网站的公司深
  • 网站怎么吸引流量用淘宝做公司网站
  • asp做的网站后台怎么进去老河口城乡建设局网站