Redis支持的数据类型-String
来源:互联网 发布:notepad 和python 编辑:程序博客网 时间:2024/06/06 02:16
Redis支持5种数据类型,String/Hash/List/SortedSet/Set
String -字符串
Redis的字符串是字节序列。在Redis中字符串是二进制安全的,这意味着他们有一个已知的长度,是没有任何特殊字符终止决定的,所以可以存储任何东西,最大长度可达512兆。
1
SET key value
设置指定 key 的值
127.0.0.1:6379> set a 10
OK
2
GET key
获取指定 key 的值。
127.0.0.1:6379> get a
"10"
3
GETRANGE key start end (起止下标都包含的)
返回 key 中字符串值的子字符
127.0.0.1:6379> set hello "my name is zhangsan"
OK
127.0.0.1:6379> get hello
"my name is zhangsan"
127.0.0.1:6379> getrange hello 3 5
"nam"
4
GETSET key value
将给定 key 的值设为value ,并返回key 的旧值(old value)。
127.0.0.1:6379> set a 10
OK
127.0.0.1:6379> getset a 20
"10"
5
GETBIT key offset
对 key 所储存的字符串值,获取指定偏移量上的位(bit)。
6
MGET key1 [key2..]
获取所有(一个或多个)给定key 的值。
127.0.0.1:6379> keys *
1) "hello"
2) "a"
127.0.0.1:6379> mget hello a
1) "my name is zhangsan"
2) "c"
7
SETBIT key offset value
对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)。
8
SETEX key seconds value (expire)
将值 value 关联到key ,并将key 的过期时间设为seconds (以秒为单位)。
在添加键值对的时候就直接设置了过期时间。
set world 10 “new world”
get world
10秒之后就查询不到了,因为已经从缓存踢出去了。
因为设置过期时间为10s
9
SETNX key value
只有在 key 不存在时设置key 的值。
向redis放置键值对,如果redis中包含了此key,则不再设置
10
SETRANGE key offset value
用 value 参数覆写给定key 所储存的字符串值,从偏移量offset 开始。
127.0.0.1:6379> get hello
"my name is zhangsan"
127.0.0.1:6379> setrange hello 11 lisi
(integer) 19
127.0.0.1:6379> get hello
"my name is lisigsan"
11
STRLEN key
返回 key 所储存的字符串值的长度。
127.0.0.1:6379> strlen hello
(integer) 19
127.0.0.1:6379>
12
MSET key value [key value ...]
同时设置一个或多个 key-value 对。
127.0.0.1:6379> mset a a1 b b1 c c1
OK
127.0.0.1:6379> keys *
1) "c"
2) "b"
3) "hello"
4) "a"
127.0.0.1:6379> mget a b c
1) "a1"
2) "b1"
3) "c1"
13
MSETNX key value [key value ...]
同时设置一个或多个 key-value 对,当且仅当所有给定key 都不存在。
14
PSETEX key milliseconds value
这个命令和 SETEX 命令相似,但它以毫秒为单位设置key 的生存时间,而不是像SETEX 命令那样,以秒为单位。
15
INCR key increase 增加
原子操作
将 key 中储存的数字值增一。
127.0.0.1:6379> set num 0
OK
127.0.0.1:6379> incr num
(integer) 1
127.0.0.1:6379> incr num
(integer) 2
127.0.0.1:6379> incr num
(integer) 3
16
INCRBY key increment(整型)
将 key 所储存的值加上给定的增量值(increment)。
127.0.0.1:6379> get num
"0"
127.0.0.1:6379> incrby num 2
(integer) 2
127.0.0.1:6379> get num
"2"
17
INCRBYFLOAT key increment
将 key 所储存的值加上给定的浮点增量值(increment) 。
18
DECR key(整型数字)
将 key 中储存的数字值减一。
19
DECRBY key decrement(整型数字)
key 所储存的值减去给定的减量值(decrement) 。
20
APPEND key value
如果 key 已经存在并且是一个字符串,APPEND 命令将value 追加到key 原来的值的末尾。
127.0.0.1:6379> get a
"b"
127.0.0.1:6379> append a 1234
(integer) 5
127.0.0.1:6379> get a
"b1234"
127.0.0.1:6379>