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

jsp商务网站开发开个个人网站

jsp商务网站开发,开个个人网站,深圳做电商平台网站,工作汇报总结怎么写String 类型 文章目录 String 类型set 命令get 命令mset 命令mget 命令get 和 mget 的区别incr 命令incrby 命令decr 命令decrby 命令incrbyfloat 命令append 命令getrange 命令setrange 命令 字符串类型是 Redis 中最基础的数据类型,在讲解命令之前,我们…

String 类型

文章目录

  • String 类型
  • set 命令
  • get 命令
  • mset 命令
  • mget 命令
  • get 和 mget 的区别
  • incr 命令
  • incrby 命令
  • decr 命令
  • decrby 命令
  • incrbyfloat 命令
  • append 命令
  • getrange 命令
  • setrange 命令

字符串类型是 Redis 中最基础的数据类型,在讲解命令之前,我们先讨论以下 Redis 中的 String 类型,关于 Redis 中的 String 类型,要注意三点:

① Redis 中的 “键” 都是 String 类型,而 Redis 中的 value 是多种类型的,而在这多种中类型中,它们存储的元素类型也都是 String 类型,比如,list 类型,set 类型,存储的元素值是 String 类型。

② 如果 value 是 String 类型,它可以是一般的字符串,也可以是 JSON、XML 格式的字符串,也可以是 “数字”,二进制流数据,例如图片,但是,这里的字符串最好不要太大,否则的话读取时间会很长。

③ Redis 中 String 类型数据的存储都是按照**“二进制数据”**存储的,并且,Redis 是不处理字符集编码问题的,客户端传入的命令中,使用的是什么字符集编码,存储时就是什么字符集编码。

下面,就来简单看一下几个常用的命令:

set 命令

设置 key 和 value,在不指定选型的默认情况下,如果指定的 key 存在的话,则更新 value 值,如果 key 不存在的话,则存储 key 和 value

语法:set key [expiration EX seconds|PX milliseconds] [NX|XX]

选项解释:

EX seconds :设置 key 的过期时间,单位是:秒

PX milliseconds:设置 key 的过期时间,单位是:毫秒

NX:如果 key 不存在,则存储 key 和 value,如果 key 存在,则不能存储

XX:如果 key 存在则存储,如果 key 不存在,则不存储

时间复杂度:O(1)

返回值:ok

操作演示:

在这里插入图片描述

注意:上述我存储的 key 和 value 都是字符串类型,而在 Redis 中,字符串类型加不加引号都是可以的,以及加双引号或单引号也都不会出错。

get 命令

根据 key 获取 value,如果 value 的数据类型不是 String ,则会报错

语法:get key

时间复杂度:O(1)

返回值:key 对应的value,如果key不存在,返回 nil

操作演示:

在这里插入图片描述

mset 命令

一次设置多个 key

语法:mset key [key……]

时间复杂度:O(k),这里的 k 表示 key 的个数

返回值:ok

操作演示:

在这里插入图片描述

mget 命令

一次获取多个 key 的 value

语法:mget key [key……]

时间复杂度:O(k)

返回值:key 对应的 value

操作演示:

在这里插入图片描述

get 和 mget 的区别

要记住,Redis 的架构是“客户端-服务器”架构,每一次传入命令都是向服务器发送一次请求,是通过网络传输的,而网络传输的速度也是比较慢的,并且也可能会因为一些因素导致传输失败,毕竟网上有一句话是这样讲的:再牛的网络,也敌不过挖掘机的一铲子,所以,如果要设置多个key 或 获取多个 key 使用 get 和 mget 所发送请求的个数就相差很大,如下图:

在这里插入图片描述

在这里插入图片描述

所以,mget / mset 这种批量操作,可以有效的节约网络时间,但需要注意的时,批量操作时指定的 key 不要太多,否则的话,容易导致 Redis 阻塞。

incr 命令

将 key 对应的 String 表示的数字加1,如果 key 不存在,则设置key,并且认为 key 对应的 vlaue 的值为 0,如果,key 所对应的 value 的值不是一个数字,或者数字的范围超过了 64位有符号的整型,则报错

语法:incr key

时间复杂度:O(1)

返回值:成功加完后的数值

操作演示:

在这里插入图片描述

incrby 命令

将 key 对应的 String 表示的数字加上指定的 n,如果 key 不存在,则设置key,并且认为 key 对应的 vlaue 的值为 0,如果,key 所对应的 value 的值不是一个数字,或者数字的范围超过了 64位有符号的整型,则报错

语法:incrby key n

时间复杂度:O(1)

返回值:成功添加后的值

操作演示:

在这里插入图片描述

decr 命令

将 key 对应的 String 表示的数字减 1,如果 key 不存在,则设置key,并且认为 key 对应的 vlaue 的值为 0,如果,key 所对应的 value 的值不是一个数字,或者数字的范围超过了 64位有符号的整型,则报错

语法:decr key

时间复杂度:O(1)

返回值:成功减去后的值

操作演示:

在这里插入图片描述

decrby 命令

decrby 命令同样也是减操作,只不过是减去我们指定的数值,和上面的 incrby 命令的操作方式一样,这里就不再演示。

incrbyfloat 命令

incrbyfloat 命令是针对 value +/- 小数,操作方式同样和上面的加减命令操作方式一样,这里也不再演示。

以上一组命令都是对value是数字时进行操作的,很多存储系统和编程语⾔内部使⽤CAS机制实现计数功能,会有⼀定的CPU开销,但在Redis中完全不存在这个问题,因为Redis是单线程架构,任何命令到了Redis服务端都要顺序执⾏。

append 命令

如果 key 已经存在,并且 value 是字符串,那么 append 命令会将指定的value值拼接到字符串后面,如果不存在,用法和set一样,就会添加一个新的元素

语法:append key value

时间复杂度:O(1)

返回值:字符串的长度

操作演示:

在这里插入图片描述

getrange 命令

获取 key 对应的字符中的子串

语法:getrange key start end

start:左区间(闭)

end:右区间(闭)

并且可以使用负数表示倒数,-1 表示最后一个位置的元素,-2 表示倒数第二个位置的元素

时间复杂度:O(k),k 是[start,end]区间的长度

返回值:返回指定位置的字串

操作演示:

在这里插入图片描述

setrange 命令

覆盖字符串的一部分

语法:setrange key offset value

offset:指定需要覆盖的开始位置

value:新的字符串

时间复杂度:O(k),k 表示 value 的长度

返回值:替换后的字符串的长度

操作演示:

在这里插入图片描述

http://www.yayakq.cn/news/823058/

相关文章:

  • 运动服装商城网站建设做封面字体下载好的网站
  • 汽车网站建设页面浙江做网站多少钱
  • wordpress 做的网站网站建设方式优化
  • 网站建设-易速通科技xammp如何按wordpress
  • 企业微商城网站建设西安哪有学做淘宝网站
  • 因酷西安网站建设公司怎么样拍卖网站开发多少钱
  • 关于加强学校网站建设的通知在家跟狗做网站视频
  • 淮南做网站静态网页模板源代码
  • 形象标识设计seo统计
  • 网站制作学什么西安官网优化哪家公司好
  • 桥头镇网站仿做wordpress简洁淘宝客免费主题
  • 企业网站建设及运营现状分析抖音推广平台有哪些
  • 中国建筑总公司网站分众传媒电梯广告价格表
  • 学校网站建设策划温州网站关键词
  • wordpress文章排序id四川企业seo
  • 网站右下角浮动效果如何做产地证在什么网站做
  • 公司做网站的价格wordpress邮件功能
  • 如何建立一个网站论坛优质的成都网站建设推广
  • 网站开发模式框架王也头像 呆萌
  • 营口电商网站建设东莞网站公司建设网站
  • 万州区建设局官方网站湖北聚四方建设有限公司网站
  • 产品介绍网站模板下载地址辽宁省建设工程信息网业绩备案
  • 国内网站服务器企业做网站需要注意什么
  • 山东济宁省建设厅官方网站免费查企业联系方式
  • 英国做电商网站上海外贸人才网
  • 丹徒网站建设公司如何为网站做面包屑导航
  • 电子商务网站建设过程范文dw网页制作作业
  • 网站专题分类手机网站用什么做
  • 做设计网站赚钱吗wordpress注册修改密码
  • 网站跟自媒体建设广州vps网站