Redis-字符串(string)基础

redis是以key value的数据结构存储的,每个key都是唯一的,字符串是redis里面最简单的数据结构,它的内部其实是一个字符数组。

redis里面的字符串是一个动态字符数组,有点类似Java里的arrayList,采用预分配冗余的方式来减少内存的频繁分配,内部为当前字符串分配的实际空间 capacity一般要高于实际字符串长度len。当字符串长度小于1MB时,扩容都是加倍现有的空间。如果字符串长度超过1MB,扩容时一次只会多扩1MB 的空间,字符串最大长度为 512MB 。

下面我们尝试常用的一些命令

>set name mangoOK>get name mango"mango">exists name(intgeter)>del name(intgeter)>get name(nil)

批处理

>mset name1 mango name2 loveOK>mget name1 name21)"mango"2)"love"

延期

> set name mangoOK> get name"mango"> expire name 5...5s后>get name(nil)>setex name 5 mango  #5s 后过期,等价于 set+exp工 re> get name"mango"...5s后> get name(nil)>setnx name mango   #如果 name不存在就执行set(integer) 1> get name"mango"> setnx name love(integer) 0       #因为 name 已经存在,所以 set 创建不成功#如果 name 不存在就执行 set 创建> get name"mango"     #值没有改变

计数

如果value是一个整数,可以执行自增操作,自增的范围signed long 的最大值和最小值之间,超出了这个范围,Redis 会报错。

>set age 18OK>incr age(integer)19>incrby age 2(integer)21>incrby age -2(integer)19>set codemax 9223372036854775807OK> incr codemax(error) ERR increment or decrement would overflow

一名正在抢救的coder

笔名:mangolove

CSDN地址:https://blog.csdn.net/mango_love

GitHub地址:https://github.com/mangoloveYu

猜你喜欢

转载自blog.csdn.net/mango_love/article/details/106223048