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

石家庄网站建设雨点牛注册公司注册企业注册

石家庄网站建设雨点牛,注册公司注册企业注册,找建设网站公司吗,石家庄企业招聘信息网5.redis常用的五种数据类型 5.1 Redis String字符串 5.1.1 简介 String类型在redis中最常见的一种类型string类型是二制安全的#xff0c;可以存放字符串、数值、json、图像数据value存储最大数据量是512M 5.1.2 常用命令 set key value#xff1a;添加…5.redis常用的五种数据类型 5.1 Redis String字符串 5.1.1 简介 String类型在redis中最常见的一种类型string类型是二制安全的可以存放字符串、数值、json、图像数据value存储最大数据量是512M 5.1.2 常用命令 set key value添加键值对(下面指令可以再后添加) nx当数据库中key不存在时可以将key-value添加到数据库xx: 当数据库key存在时可以将key-value添加到数据库与nx参数互斥ex: 设置key-value添加到数据库并设置key的超时时间(以秒钟为单位)px:设置key-value添加到数据库并设置key的超时时间(以豪秒钟为单位)与ex互斥 get key查询对应键值append key value将给定的值追加到key的末尾strlen key获取值的长度setnx key value只有在key不存在时设置key-value加入到数据库setex key timeout value添加键值对同时设置过期时间(以秒为单位)incr key将key中存储的数字加1处理只能对数字值操作。如果是空添加进key并设值为1decr key将key中存储的数字减1处理只能对数字值操作。如果是空值为1incrby key increment将key中存储的数字值增加指定步长的数值,如果是空值为步长。 (具有原子性)decrby key decrement: 将key中存储的数字值减少指定步长的数值,如果是空值为步长。 (具有原子性)mset key1 value1[ key2 value2…]同时设置1个或多个key-value值mget key1[ key2…]同时获取1个或多个valuemsetnx key1 value1[ key2 value2…]当所有给定的key都不存在时同时设置1个或 多个key-value值**(具有原子性)**getrange/substr key start end 将给定key获取从start(包含)到end(包含)的值setrange key offset value从偏移量offset开始用value去覆盖key中存储的字符串值getset key value 对给定的key设置新值同时返回旧值。如果key不存在则添加一个key-value值 5.1.3应用场景 单值缓存 设置值set key value;获取值 get key 对象缓存 set stu:001 value(json) (把对象转为json串保存)mset stu:001:name zhangsan stu:001:age 18 stu:001:gender 男 (分别对每个字段进行不同key的存储)mget stu:001:name stu:001:age(批量获取) 分布式锁 setnx key:001 true //返回1代表加锁成功setnx key:001 true //返回0代表加锁失败setnx如果存在则无法存入数据返回0//…业务操作 del key:001 //执行完业务释放锁 set key:001 true ex 20 nx //防止程序意外终止导致死锁 计数器 incr article:read:1001 //统计文章阅读数量其中artcle:read:1001是key 分布式系统全局序列号 incrby orderid 100 //批量生成序列号就是基于orderid的value加100 5.2 Redis List列表 5.2.1 简介 Redis列表是简单的字符串列表单键多值按照插入顺序排序。 可以添加一个元素到列表的头部左边或者尾部右边一个列表最多可以包含2^31-1个元素底层是一个双向链表对两端的操作新能很高通过下标的操作中间节点性能较弱 5.2.2 常用命令 lpush key value1[ value2…]从左侧插入一个或多个值lpushx key value1[ value2…]将一个或多个值插入到已存在的列表头部 (有一个判断功能存在的话才做不存在就不做)lrange key start stop获取列表指定范围内的元素0左边第1位-1右边第1 位0 ~-1取出所有rpush key value1[ value2…]从右侧插入一个或多个值rpushx key value1[ value2…]将一个或多个值插入到已存在的列表尾部lpop key[count]移除并获取列表中左边第1个元素count表明获取的总数量,返回的为移除的 元素rpop key[count]移除并获取列表中右边第1个元素count表明获取的总数量,返回的为移除的元素rpoplpush source destination移除源列表的尾部的元素(右边第一个)将该元素添加到目标列表的头部(左边第一个)并返回该元素lindex key index:通过索引获取列表中的元素llen key获取列表长度linsert key before|after pivot element在 pivot基准元素前或者后面插入 element如果key不存在返回0。如果 pivot不存在返回-1如果操作成功返回执行后的列表长度lrem key count element根据count的值移除列表中与参数相等的元素 count0 移除表中所有与参数相等的值count0 从表头开始向表尾搜索移除与参数相等的元素数量为countcount0 从表尾开始向表头搜索移除与参数相等的元素数量为count的绝对值 lset key index element设置给定索引位置的值ltrim key start stop对列表进行修剪只保留给定区间的元素不在指定区间的被删除brpop key timeout阻塞式移除指定key的元素如果key中没有元素就等待直到有元素或超时执行结束 5.2.3 应用场景 数据队列 堆栈stacklpushlpop队列queuelpushrpop阻塞式消息队列 blocking mqlpushbrpop 订阅号时间线 lrange key start stop(队列就是数据然后根据想要获取的元素输入对应元素下标获取数据) 5.3 Redis Hash 哈希 5.3.1 简介 是一个String类型的键和value对象特别适合于储存对象类似于Java中的MapString, Object有以下几种处理方式 用key存储学生id用value存储序列化之后用户对象(如果用户属性数据需要修改操作较复杂开销较大)用key存储学生id属性名用value存储属性值用户id数据冗余用key存储学生id用value存储fieldvalue的hash。通过key(学生d)field(属性)可以操作对应数据。 5.3.2 常用命令 hset key field value[ field value…]用于为哈希表中的字段赋值如果字段在hash表中存在则会被覆盖hmset:用法同hset在redis4.0.0中被弃用hsetnx key field value只有在字段不存在时才设置哈希表字段中的值(不支持多个)hget key field 返回哈希表中指定的字段的值hmget key field[ field…]获取哈希表中所有给定的字段值hgetall key获取在哈希表中指定key的所有字段和值hexists key field判断哈希表中指定的字段是否存在存在返回1 否则返回0hkeys key获取哈希表中所有的字段hvals key获取哈希表中所有的值hlen key获取哈希表中的field数量hdel key field[ field…]删除一个或多个哈希表字段hincrby key field increment为哈希表key中指定的field字段的整数值加上增加increment值hincrbyfloat key field increment为哈希表key中指定的field字段的浮点数值加上增加increment值 5.3.3 应用场景 对象缓存 hset stu:001 name zhangsan age 20 gender man电商购物车操作 以用户id作为key, 以商品id作为field以商品数量作为value添加商品: hset user:001 s:001 1hset user:001 s:002 2 增减商品数量:hincrby user:001 s:001 3查看购物车商品总数: hlen user:001删除商品 : hdel user:001 s:001获取所有商品 hgetall user:001 5.4 Redis Set集合 5.4.1 简介 set是String类型元素无序集合对外提供的功能和list类似 5.4.2 常用命令 sadd key member[ member…]将一个或多个成员元素加入到集合中如果集合中已经包含成员元素则被忽略smembers key返回集合中的所有成员。sismember key member判断给定的成员元素是否是集合中的成员如果是返回1,否则返回0scard key返回集合中元素个数srem key member[ member…]移除集合中一个或多个元素spop key[ count]移除并返回集合中的一个或count个随机元素srandmember key[ count]与spop相似返回随机元素不做移除smove source destination member将member元素从source源移动到destination目标sinter key[ key…]返回给定集合的交集(共同包含)元素sinterstore destination key1[ key2…]返回给定所有集合的交集并存储到destination目标中sunion key[ key…]返回给定集合的并集(所有)元素sunionstore destination key1[ key2…]返回给定所有集合的并集并存储到destination目标中sdiff key[ key…]返回给定集合的差集(key1中不包含key2中的元素)sdiffstore destination key1[ key2…]返回给定所有集合的差集并存储到destination目标中 5.4.3 应用场景 抽奖 参与抽奖sadd cj001 user:13000000000 user:13455556666 user:13566667777 (将参与抽奖用户放入set中)查看所有参与用户 smembers cj001 (查看set数组所有数据)实现抽奖 spop cj001 3(弹出任意三个数据) / srandmember cj001 3 (返回任意三个数据) 朋友圈点赞 快手/抖音 点赞 (向set数组中添加元素) sadd like:friend001 user:001sadd like:friend001 user:002 取消点赞 srem like:friend001 user:001 (移除此元素)判断用户是否已点赞 sismember like:friend001 user:001 (查看此元素是否存在set中)显示点赞用户 smembers like:friend001 (查看set中的元素)获取点赞次数 scard like:friend001 (获取set长度) 关注模型 sinter交集 sunion并集 sdiff 差集 微博 sadd g:list:u001 1001 sadd g:list:u002 1001 你们共同关注的 sinter交集QQ 你们有共同好友 sinter交集快手 可能认识的人 sdiff差集 5.5 Redis ZSet有序集合 5.5.1 简介 有序集合是String的有序结合不允许重复出现成员每个元素关联一个double类型的分数redis通过分数为集合中的成员进行从小到大的排序有序集合成员是唯一的但是分数可以重复成员因为有序可以根据分数或者次序来快速获取一个范围内的元素 5.5.2常用命令 zadd key score member[ score member…]将一个或多个元素及其分数加入到有序集合中zrange key min max [byscore|bylex] [rev] [ limit offset count] [withscores]返回有序集合指定区间的成员 byscore按分数区间使用此方法通过分数排序获取所有的数据zrange z1 -inf inf byscorebylex按字典区间[其中如果想要全部查询min和max是-和]rev 反向排序(分数大的写前边小的写后边)limit分页(offset偏移量count返回的总数)withscores返回时带有对应的分数) zrevrange key start stop[ limit offset count]返回集合反转后的成员zrangebyscore key min max [withscores] [ limit offset count]参考zrange用法zrevrangebyscore key max min [withscores] [ limit offset count]参考zrange用法zrangebylex key min max] [ limit offset count]通过字典区间返回有序集合的成员 zrangebylex k2 - 减号最小值,加号最大值zrangebylex k2 [aa (ac[ 中括号表示包含给定值( 小括号表示不包含给定值 zcard key获取集合中的成员数量zincrby key increment member 为集合中指定成员分数加上增量incrementzrem key member[ member…]移除集合的一个或多个成员zcount key min max统计集合中指定区间分数(都包含)的成员数量zrank key member获取集合中成员的索引位置zscore key member获取集合中成员的分数值 5.3.3 应用场景 按时间先后顺序排序朋友圈点赞 zadd 1656667779666(以时间作为分数) value热搜 微博 今日头条 快手 主要使用分数做处理每点击一次分数就加一然后获取热点获取topN zrevrange k1 300 10 limit 0 10
http://www.sczhlp.com/news/173751/

相关文章:

  • 南山网站(建设深圳信科)服装市场网站建设
  • 青岛 建网站作品推广
  • 做网站租服务器吗抖音代运营商
  • 网站统计ip pvwordpress能赚钱
  • 属于c2c的网站有哪些京东云wordpress
  • 网上商城网站建设汕头网络推广公司
  • 网站建设丩金手指排名壹陆wordpress换主题影响
  • 织梦贷款网站源码app在线制作平台有哪些
  • wordpress重置秘密泉州做网站优化
  • 2025.10.7+7
  • 2.洋葱开发法
  • 深圳市路桥建设集团有限公司招标采购网站纯前端网站怎么做rest
  • seo网站分析wordpress获取导航菜单
  • 洗化行业做网站怎么利用网站做cpa推广
  • 北京建设工程监督网站网站内链符号
  • 男友给女朋友做网站如何查询网站的备案信息查询
  • 如何快速优化网站排名淄博网站制作
  • 简洁企业网站模板wordpress 获取友链
  • 台州网站搜索引擎优化南阳网站建设icp备
  • 门户网站开发架构电信专线可以做网站吗
  • 响应式网站建设特色郴州市网站建设公司
  • 制作公司网站怎么做网站开发怎么报价
  • 泉州外贸网站开发公司哪个网站做不锈钢好
  • 短租房网站哪家做最好百度快速优化排名软件
  • 园岭中小网站建设网站域名好了下一步
  • 做公众号网站大连网络代运营
  • 分类信息发布网站模板黄骅港海关
  • 网站备案的幕布是什么微信公众平台申请入口
  • 工信部网站备案怎么查支持wordpress空间
  • 网站建设的因素工厂怎么推广自己的产品