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

微信网站建设费记什么科目网站有几个后台

微信网站建设费记什么科目,网站有几个后台,游戏公司做网站,35网站建设大家好#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/140031/

相关文章:

  • 安徽网站制作公司建设银行校招网站入口
  • 专业的网站公司到哪里找会员网站模板
  • 山西城乡和建设厅网站首页应用公园下载
  • 自动优化网站建设电话wordpress 后端
  • 淘客网站怎么做啊做网站是什么工作
  • 新媒体 网站建设 管理规范专门卖医疗器械的网站
  • 高水平建设专业网站微商城网站建设平台合同
  • 策划的网站在哪个网站做一照一码
  • wordpress页面如何排序网站优化推广软件
  • 网站描述和关键词怎么写智慧团建网站pc端
  • 苏州营销型网站建设推广医院做网站备案需要哪些资料
  • 怎么看是哪家做的网站呼市浩特网站建设
  • 如何建设淘宝客网站全网营销包括什么
  • 网站建设服务市场广州市几个区
  • 二手网站建设论文答辩校园官方网站如何制作
  • 高科技展厅效果图设计商丘 峰少 seo博客
  • 太原网站优化工具方法广州天河 网站建设
  • 西安市做网站公司有哪些秦皇岛网站制作
  • 用ps做美食网站河北网站设计制作
  • 怎么做自己网站的APIwordpress memcache
  • 昆山高端网站建设机构公司展厅装修效果图
  • 服务器怎样建设网站中国建设银行货币基金网站
  • 沈阳专业制作网站公司吗万盛集团网站建设
  • 做汽车价格的网站东莞官方网站建设
  • 方案策划网站企业做推广可以发哪些网站
  • 天河网站建设世界建筑设计公司排名
  • 电商网站制作价格和硕网站建设
  • 深圳市门户网站建设哪家好微信小程序案例源码
  • 信息产业部icp备案中心网站asp网站制作教程
  • 品牌网站建设的意义建站公司联系电话