设置key对应的值。
set name Diamond
设置key的值,如果key已存在,返回0。nx为not exist的意思。
127.0.0.1:6379> setnx name Fox
(integer) 0
设置key的值,并设置key的存活时间。
127.0.0.1:6379> setex age 10 24
OK
127.0.0.1:6379> get age
"24"
127.0.0.1:6379> get age
(nil)
设置key的指定位置的值
127.0.0.1:6379> set email Diamond@126.com
OK
127.0.0.1:6379> setrange email 8 gmail.com
(integer) 17
127.0.0.1:6379> get email
"[email protected]"
一次设置多个key的值。成功返回ok表示所有值都被设置,失败返回0表示没有任何值被设置。
127.0.0.1:6379> mset name1 Alex name2 Bob name3 Candy
OK
一次设置多个key的值,如果key已存在,则返回0,不会覆盖已存在的key的值,也就是会回滚,所有操作都不被执行。如果成功返回ok。
127.0.0.1:6379> msetnx name1 Diamond name4 Fox
(integer) 0
127.0.0.1:6379> get name1
"Alex"
127.0.0.1:6379> get name4
(nil)
获取指定key的值
127.0.0.1:6379> get name1
"Alex"
设置key的值,并返回key的旧值。如果key不存在,返回nil。
127.0.0.1:6379> getset name1 Diamond
"Alex"
获得指定位置的值。负数为从后面开始,如果指定位置大于长度,则返回最后。
127.0.0.1:6379> get email
"Diamond@gmail.com"
127.0.0.1:6379> getrange email 0 6
"Diamond"
127.0.0.1:6379> getrange email -9 -1
"gmail.com"
127.0.0.1:6379> getrange email 7 100
"@gmail.com"
一次获得多个值,如果不存在,返回nil。
127.0.0.1:6379> mget name1 name2 name3 name4
1) "Diamond"
2) "Bob"
3) "Candy"
4) (nil)
对key的值加1,也就是做++操作。操作一个不是int的值会返回错误。incr一个不存在的key会设置key为1。
127.0.0.1:6379> set age 24
OK
127.0.0.1:6379> get age
"24"
127.0.0.1:6379> incr age
(integer) 25
127.0.0.1:6379> get age
"25"
对key的值加指定的数。key不存在,则设定key=指定的数。
127.0.0.1:6379> get age
"25"
127.0.0.1:6379> incrby age 5
(integer) 30
127.0.0.1:6379> get age
"30"
127.0.0.1:6379> incrby age1 5
(integer) 5
127.0.0.1:6379> get age1
"5"
减去1,执行–操作。key不存在,设为-1。
127.0.0.1:6379> get age1
"5"
127.0.0.1:6379> decr age1
(integer) 4
127.0.0.1:6379> get age1
"4"
减去指定的值。
127.0.0.1:6379> get age1
"4"
127.0.0.1:6379> decrby age1 2
(integer) 2
127.0.0.1:6379> get age1
"2"
给指定的key追加value,返回value的长度。
127.0.0.1:6379> get name1
"Diamond"
127.0.0.1:6379> append name1 @gmail.com
(integer) 17
127.0.0.1:6379> get name1
"[email protected]"
返回key的长度。
127.0.0.1:6379> get name1
"[email protected]"
127.0.0.1:6379> strlen name1
(integer) 17
主要用来存储对象类型。
设置hash field为指定值,不存在则创建。
127.0.0.1:6379> hset myhashtest field1 Hello
(integer) 1
设置hash field的值,如果已存在返回0。
127.0.0.1:6379> hsetnx myhashtest field "hello"
(integer) 1
127.0.0.1:6379> hsetnx myhashtest field "hello"
(integer) 0
同时设置key的多个field与值。
127.0.0.1:6379> hmset message name Diamond age 24 sex gender
OK
获取指定key的field的值。(对象字段的值)
127.0.0.1:6379> hget message name
"Diamond"
获取全部指定的 key field的值。
127.0.0.1:6379> hmget message name age sex
1) "Diamond"
2) "24"
3) "gender"
给指定的field加上指定的值。
127.0.0.1:6379> hincrby message age 3
(integer) 27
127.0.0.1:6379> hget message age
"27"
判断指定field是否存在
127.0.0.1:6379> hexists message age
(integer) 1
返回指定key的field数。
127.0.0.1:6379> hlen message
(integer) 3
删除指定key的field。
127.0.0.1:6379> hdel message age
(integer) 1
127.0.0.1:6379> hlen message
(integer) 2
返回key的所有field
127.0.0.1:6379> hkeys message
1) "name"
2) "sex"
返回key的所有value。
127.0.0.1:6379> hvals message
1) "Diamond"
2) "gender"
返回所有的field和value。
127.0.0.1:6379> hgetall message
1) "name"
2) "Diamond"
3) "sex"
4) "gender"
list是一个链表结构,理解为链表的名字。
在key的头部添加元素。
127.0.0.1:6379> lpush listtest Diamond
(integer) 1
127.0.0.1:6379> lpush listtest Fox
(integer) 2
127.0.0.1:6379> lpush listtest Alex
(integer) 3
127.0.0.1:6379> lrange listtest 0 -1
1) "Alex"
2) "Fox"
3) "Diamond"
在list的尾部添加元素。
127.0.0.1:6379> rpush listtest Jam
(integer) 4
127.0.0.1:6379> rpush listtest jone
(integer) 5
127.0.0.1:6379> rpush listtest LuLu
(integer) 6
127.0.0.1:6379> lrange listtest 0 -1
1) "Alex"
2) "Fox"
3) "Diamond"
4) "Jam"
5) "jone"
6) "LuLu"
在指定位置的前或后插入数据
127.0.0.1:6379> linsert listtest before LuLu Auke
(integer) 7
127.0.0.1:6379> lrange listtest 0 -1
1) "Alex"
2) "Fox"
3) "Diamond"
4) "Jam"
5) "jone"
6) "Auke"
7) "LuLu"
127.0.0.1:6379> linsert listtest after Jone Miss
(integer) -1
127.0.0.1:6379> lrange listtest 0 -1
1) "Alex"
2) "Fox"
3) "Diamond"
4) "Jam"
5) "jone"
6) "Auke"
7) "LuLu"
设置指定位置的元素的值。
127.0.0.1:6379> lset listtest 0 Adell
OK
127.0.0.1:6379> lrange listtest 0 -1
1) "Adell"
2) "Fox"
3) "Diamond"
4) "Jam"
5) "jone"
6) "Auke"
7) "LuLu"
删除和指定value相同值的元素。删除count个。count小于0时,从尾部开始删除。count=0时,全部删除。
127.0.0.1:6379> lrem listtest 2 Adell
(integer) 1
127.0.0.1:6379> lrange listtest 0 -1
1) "Fox"
2) "Diamond"
3) "Jam"
4) "jone"
5) "Auke"
6) "LuLu"
保留指定区间内的元素。
127.0.0.1:6379> lrange listtest 0 -1
1) "Fox"
2) "Diamond"
3) "Jam"
4) "jone"
5) "Auke"
6) "LuLu"
127.0.0.1:6379> ltrim listtest 1 -1
OK
127.0.0.1:6379> lrange listtest 0 -1
1) "Diamond"
2) "Jam"
3) "jone"
4) "Auke"
5) "LuLu"
从list的头部删除元素。
127.0.0.1:6379> lrange listtest 0 -1
1) "Diamond"
2) "Jam"
3) "jone"
4) "Auke"
5) "LuLu"
127.0.0.1:6379> lpop listtest
"Diamond"
127.0.0.1:6379> lrange listtest 0 -1
1) "Jam"
2) "jone"
3) "Auke"
4) "LuLu"
从尾部删除元素。
127.0.0.1:6379> lrange listtest 0 -1
1) "Jam"
2) "jone"
3) "Auke"
4) "LuLu"
127.0.0.1:6379> rpop listtest
"LuLu"
127.0.0.1:6379> lrange listtest 0 -1
1) "Jam"
2) "jone"
3) "Auke"
从第一个list删除元素,添加到第二个list的头部。操作是原子性的。第一个list为空返回nil。
127.0.0.1:6379> lrange listtest2 0 -1
1) "4"
2) "3"
3) "2"
4) "1"
127.0.0.1:6379> rpoplpush listtest listtest2
"Auke"
127.0.0.1:6379> lrange listtest2 0 -1
1) "Auke"
2) "4"
3) "3"
4) "2"
5) "1"
返回list指定index的值。
127.0.0.1:6379> lindex listtest2 0
"Auke"
返回指定list的长度。
127.0.0.1:6379> llen listtest2
(integer) 5