Redis笔记-String类型及操作(二)
admin
2023-05-26 20:21:47
0

String类型及操作

String是简单的类型 ,一个Key对应一个Value. String类型是二进制安全的。 Redis的String可以包含任何数据,比如jpg图片或者序列化的对象

Set

设置Key对应的值为String类型的value

例如:添加一个name=lijie的键值对

127.0.0.1:6379> set name lijie//获取值127.0.0.1:6379> get name//重复赋值,会被覆盖

setnx

设置key对应的值为String类型的value,如果key已经存在,返回0, nx是not exist的意思。 例如:我们再添加一个name=lijie_new的键值对

127.0.0.1:6379> setnx name liyanyan(integer) 0//由于前面已经设置过 name的值 ,所以返回0,并且不会覆盖

Setex

设置key对应的值为String类型的value,并指定此键对应的有效期

例如:我们添加一个haircolor=red的键值对,并指定有效期为10 秒

127.0.0.1:6379> setex haircolor 10 red
OK127.0.0.1:6379> get haircolor"red"127.0.0.1:6379> get haircolor(nil)

setrange

设置指定key的value值的子字符串

例如:我们希望将lijie的126邮箱替换为gmail邮箱

127.0.0.1:6379> set name lijie@126.comOK127.0.0.1:6379> setrange name 6 gmail.com
(integer) 15127.0.0.1:6379> get name"lijie@gmail.com

//再设为126邮箱
127.0.0.1:6379> setrange name 6 126.com
(integer) 15
127.0.0.1:6379> get name
"lijie@126.comom"
//我们发现如果替换的字符串长度,小于原字符串,则原字符串后面的字符会被保留

Mset

一次设置多个key的值,成功返回ok,表示所有的值都设置了,失败返回0,表示没有任何值被设置

127.0.0.1:6379> mset key1 lijie key2 chenxl key3 zhangsan
OK127.0.0.1:6379> get key1"lijie"127.0.0.1:6379> get key2"chenxl"127.0.0.1:6379> get key3"zhangsan"

msetnx

一次设置多个key的值,成功返回ok,表示所有的值都设置了,失败返回0,表示没有任何值被设置,但是不会覆盖已经存在的key

只要有一个key是存在的,其它所有的key都不能设置成功。

get

获取一个值

getset

设置key的值,并返回key的旧值

getrange

获取key的value的值的子字符串

127.0.0.1:6379> getrange name 0 3"liji"

mget

一次获取多个key的值,如果对应key不存在,则返回nil

127.0.0.1:6379> mget key1 key2 key3 key41) "lijie"2) "chenxl"3) "zhangsan"4) (nil)

incr

对key的值做增加的操作,并返回新的值,如果key不存在,设置key的值为0,再往上加

127.0.0.1:6379> incr age(integer) 11
127.0.0.1:6379> incr age(integer) 12
127.0.0.1:6379> incr age(integer) 13
127.0.0.1:6379> incr age(integer) 14

incrby

同incr类似,以指定步长往上加值,key不存在时候会设置ke,并认为原来的value是0

//myage的值不存在127.0.0.1:6379> incrby myage 3(integer) 3127.0.0.1:6379> 
127.0.0.1:6379> incrby myage 3(integer) 6127.0.0.1:6379> incrby myage 3(integer) 9

如果想递减,值可以设为负值

decr

对key的值做减操作

decrby

同decr类似,以指定步长减值

append

给指定key的字符串追加value, 返回新字符串的长度

127.0.0.1:6379> append name 123(integer) 18127.0.0.1:6379> get name"lijie@126.comom123"

strlen

获取指定key的value值的长度

127.0.0.1:6379> strlen name(integer) 18


相关内容

热门资讯

演习首日发生意外事故:台空军一... 【环球网报道 记者 徐思琦】据中时新闻网、中天新闻网等台媒8月5日报道,台军所谓“汉光42号演习”首...
奥运冠军陆春龙挂职担任苏州大学... 澎湃新闻记者 岳怀让近日,苏州大学体育学院官网“现任领导”栏目更新信息显示,陆春龙已经挂职担任苏州大...
我国科研人员研发亚10毫秒级神... 来源:环球网 【环球网科技综合报道】8月5日消息,据《科学》(Science)报道称,近日,中国科学...
出生相隔55分钟被抱错,女子错... 面对被医院错换的37年人生,李慧(化名)选择用最朴素的方式,为自己和两个家庭讨一个说法:她把半生艰辛...
Transformer上限触顶... Transformer 的上限在哪里?这个问题从 2022 年 ChatGPT 问世起,就开始被广泛...
华为余承东:手机之后可能都要大... IT之家 8 月 5 日消息,在今天(8 月 5 日)的尊界时代旗舰 MPV 及华为全场景新品发布会...
北方股份获得实用新型专利授权:... 证券之星消息,根据天眼查APP数据显示北方股份(600262)新获得一项实用新型专利授权,专利名为“...
惊险瞬间!巡查人员劝退通行货车... 受强降雨影响,8月5日,国道108秦岭山区段西安马召镇至汉中佛坪方向约20公里处发生山体塌方。在塌方...
美媒爆:检察官皮罗拖着“一箱证... 【环球网报道 记者 李飒】美国首都华盛顿地标建筑林肯纪念堂倒影池改造引发的风波持续发酵。据《纽约时报...
乌方:一支朝鲜导弹部队已向俄罗... 据凤凰卫视报道,乌克兰国家安全局日前表示,在过去40天里对俄罗斯境内100多处战略目标实施打击,包括...