Redis-String
简介
string是redis最基本的类型,可以理解成与Memcached一模一样的类型,一个key对于一个value。
string类型是二进制安全的。也就是可以包含任何数据,比如jpg图片或者序列化对象。
string类型是Redis最基本的数据类型,string类型的值最大能存储512MB
set、get(设置、查询指定key的值)
127.0.0.1:6379> set name ike OK 127.0.0.1:6379> get name "ike"
getrange、setrange(返回、修改 key中字符串指定索引范围的值)
127.0.0.1:6379> getrange name 0 1 // 查询索引从0到1的值 "ik" 127.0.0.1:6379> setrange name 0 lu // 从索引0开始修改 (integer) 4 127.0.0.1:6379> get name "luke"
getset(修改指定key的值,并返回该key的原值)
127.0.0.1:6379> getset name luke "ike" 127.0.0.1:6379> get name "luke"
setnx(为指定key设置value,如果key不存在则成功,存在则失败)
127.0.0.1:6379> setnx name luke (integer) 1 127.0.0.1:6379> setnx name ike (integer) 0 127.0.0.1:6379> get name "luke"
getbit、setbit(查询、修改指定偏移量上的位)
- 返回值:字符串指定偏移量上的位(bit)。
- 操作偏移量时通过索引进行修改查询,索引从0开始。
127.0.0.1:6379> exists name // 判断key是否存在,返回 0 1 (integer) 1 127.0.0.1:6379> getbit name 10000 // 当偏移量比字符串值的长度大,或者key不存在时,返回 0。 (integer) 0 127.0.0.1:6379> setbit name 1 0 // 修改索引为 1 的值为 0 (integer) 1 127.0.0.1:6379> get name // 查看修改后的value ")ke" // 原值的二进制 01101001 01101011 01100101 // 修改后的二进制 00101001 01101011 01100101
mset、mget(设置、查询多个指定key的值,不存在返回null)
127.0.0.1:6379> mset key1 hello key2 world OK 127.0.0.1:6379> mget key1 key2 key3 1) "hello" 2) "world" 3) (nil)
msetnx(当给定key都不存在时,同时设置一个或多个key value对)
- 返回值:当所有key都成功设置返回1,如果设置失败(有一个key存在则失败)返回0。
127.0.0.1:6379> msetnx key1 1 key3 3 (integer) 0 127.0.0.1:6379> mget key1 key3 1) "hello" 2) (nil) 127.0.0.1:6379> msetnx key3 3 key4 4 (integer) 1 127.0.0.1:6379> mget key3 key4 1) "3" 2) "4"
setex 、psetex(为指定的 key 设置值及其过期时间。如果 key 已经存在, SETEX 命令将会替换旧的值)
- setex:以秒为单位
- psetex:以毫秒为单位
127.0.0.1:6379> setex name 10 ike // 设置key为name 过期时间为10s value为ike OK 127.0.0.1:6379> ttl name // 查看过期时间 (integer) 5 127.0.0.1:6379> get name // 到期key被删除 (nil) 127.0.0.1:6379> psetex name 10000 looo // 1000毫秒(10s)后删除 OK
strlen(返回指定key的长度,当key存储的不是字符串时返回错误、不存在返回0)
127.0.0.1:6379> strlen name (integer) 4
incr、incrby(对存储的数字进行增操作)
- 只能操作数字类型,如果不为数字则报错。
- 本操作的值限制在 64 位(bit)有符号数字表示之内。
- 返回值:为修改后的值。
- incr:对值进行加1操作,如果key不存在,则key会被设置初始值为0,然后在执行incr操作。
- incrby:对指定key进行增减操作,如果key不存在时,则设置初始值为0,在执行incrby操作。
127.0.0.1:6379> set age 18 // 设置的值必须为数字否则报错 OK 127.0.0.1:6379> incr age // age自增1后值为19 (integer) 19 127.0.0.1:6379> incr age1 // key不存在则创建并执行incr操作。 (integer) 1 127.0.0.1:6379> incrby age -1 // 减1操作 (integer) 18 127.0.0.1:6379> incrby age2 5 // key不存在设置初始值再+5 (integer) 5
decr、decrby(对指定值进行减操作)
127.0.0.1:6379> decr age // 减1操作 (integer) 17 127.0.0.1:6379> decrby age 5 // 减5 (integer) 12
incrbyfloat(对指定key进行浮点数增减操作)
- key不存在会设置初始值再操作、能对float、int进行操作。
127.0.0.1:6379> incrbyfloat float -0.1 "1.4" 127.0.0.1:6379> incrbyfloat float 0.1 "1.5"
append(为指定的key追加值,当key不存在时则新建一个)
127.0.0.1:6379> append name boy (integer) 6 127.0.0.1:6379> get name "ikeboy"

浙公网安备 33010602011771号