Redis的基本数据操作命令(一)

来源:互联网 发布:最难防范的网络攻击是 编辑:程序博客网 时间:2024/06/05 16:41

一 String类型

1 set

设置key对应的值。

set name Diamond

2 setnx

设置key的值,如果key已存在,返回0。nx为not exist的意思。

127.0.0.1:6379> setnx name Fox(integer) 0

3 setex

设置key的值,并设置key的存活时间。

127.0.0.1:6379> setex age 10 24OK127.0.0.1:6379> get age"24"127.0.0.1:6379> get age(nil)

4 setrange

设置key的指定位置的值

127.0.0.1:6379> set email Diamond@126.comOK127.0.0.1:6379> setrange email 8 gmail.com(integer) 17127.0.0.1:6379> get email"Diamond@gmail.com"

5 mset

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

127.0.0.1:6379> mset name1 Alex name2 Bob name3 Candy OK

6 msetnx

一次设置多个key的值,如果key已存在,则返回0,不会覆盖已存在的key的值,也就是会回滚,所有操作都不被执行。如果成功返回ok。

127.0.0.1:6379> msetnx name1 Diamond name4 Fox(integer) 0127.0.0.1:6379> get name1"Alex"127.0.0.1:6379> get name4(nil)

7 get

获取指定key的值

127.0.0.1:6379> get name1"Alex"

8 getset

设置key的值,并返回key的旧值。如果key不存在,返回nil。

127.0.0.1:6379> getset name1 Diamond"Alex"

9 getrange

获得指定位置的值。负数为从后面开始,如果指定位置大于长度,则返回最后。

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"

10 mget

一次获得多个值,如果不存在,返回nil。

127.0.0.1:6379> mget name1 name2 name3 name41) "Diamond"2) "Bob"3) "Candy"4) (nil)

11 incr

对key的值加1,也就是做++操作。操作一个不是int的值会返回错误。incr一个不存在的key会设置key为1。

127.0.0.1:6379> set age 24OK127.0.0.1:6379> get age"24"127.0.0.1:6379> incr age(integer) 25127.0.0.1:6379> get age"25"

12 incrby

对key的值加指定的数。key不存在,则设定key=指定的数。

127.0.0.1:6379> get age"25"127.0.0.1:6379> incrby age 5(integer) 30127.0.0.1:6379> get age"30"127.0.0.1:6379> incrby age1 5(integer) 5127.0.0.1:6379> get age1"5"

13 decr

减去1,执行–操作。key不存在,设为-1。

127.0.0.1:6379> get age1"5"127.0.0.1:6379> decr age1(integer) 4127.0.0.1:6379> get age1"4"

14 decrby

减去指定的值。

127.0.0.1:6379> get age1"4"127.0.0.1:6379> decrby age1 2(integer) 2127.0.0.1:6379> get age1"2"

15 append

给指定的key追加value,返回value的长度。

127.0.0.1:6379> get name1"Diamond"127.0.0.1:6379> append name1 @gmail.com(integer) 17127.0.0.1:6379> get name1"Diamond@gmail.com"

16 strlen

返回key的长度。

127.0.0.1:6379> get name1"Diamond@gmail.com"127.0.0.1:6379> strlen name1(integer) 17

二 Hashes类型

主要用来存储对象类型。

1 hset

设置hash field为指定值,不存在则创建。

127.0.0.1:6379> hset myhashtest field1 Hello(integer) 1

2 hsetnx

设置hash field的值,如果已存在返回0。

127.0.0.1:6379> hsetnx myhashtest field "hello"(integer) 1127.0.0.1:6379> hsetnx myhashtest field "hello"(integer) 0

2 hsetnx

同时设置key的多个field与值。

127.0.0.1:6379> hmset message name Diamond age 24 sex genderOK

3 hget

获取指定key的field的值。(对象字段的值)

127.0.0.1:6379> hget message name"Diamond"

4 hmget

获取全部指定的 key field的值。

127.0.0.1:6379> hmget message name age sex1) "Diamond"2) "24"3) "gender"

5 hincrby

给指定的field加上指定的值。

127.0.0.1:6379> hincrby message age 3(integer) 27127.0.0.1:6379> hget message age"27"

6 hexists

判断指定field是否存在

127.0.0.1:6379> hexists message age(integer) 1

7 hlen

返回指定key的field数。

127.0.0.1:6379> hlen message(integer) 3

8 hdel

删除指定key的field。

127.0.0.1:6379> hdel message age(integer) 1127.0.0.1:6379> hlen message(integer) 2

9 hkeys

返回key的所有field

127.0.0.1:6379> hkeys message1) "name"2) "sex"

10 hvals

返回key的所有value。

127.0.0.1:6379> hvals message1) "Diamond"2) "gender"

11 hgetall

返回所有的field和value。

127.0.0.1:6379> hgetall message1) "name"2) "Diamond"3) "sex"4) "gender"

三 list类型操作

list是一个链表结构,理解为链表的名字。

1 lpush

在key的头部添加元素。

127.0.0.1:6379> lpush listtest Diamond(integer) 1127.0.0.1:6379> lpush listtest Fox(integer) 2127.0.0.1:6379> lpush listtest Alex(integer) 3127.0.0.1:6379> lrange listtest 0 -11) "Alex"2) "Fox"3) "Diamond"

2 rpush

在list的尾部添加元素。

127.0.0.1:6379> rpush listtest Jam(integer) 4127.0.0.1:6379> rpush listtest jone(integer) 5127.0.0.1:6379> rpush listtest LuLu(integer) 6127.0.0.1:6379> lrange listtest 0 -11) "Alex"2) "Fox"3) "Diamond"4) "Jam"5) "jone"6) "LuLu"

3 linsert

在指定位置的前或后插入数据

127.0.0.1:6379> linsert listtest before LuLu Auke(integer) 7127.0.0.1:6379> lrange listtest 0 -11) "Alex"2) "Fox"3) "Diamond"4) "Jam"5) "jone"6) "Auke"7) "LuLu"127.0.0.1:6379> linsert listtest after Jone Miss(integer) -1127.0.0.1:6379> lrange listtest 0 -11) "Alex"2) "Fox"3) "Diamond"4) "Jam"5) "jone"6) "Auke"7) "LuLu"

4 lset

设置指定位置的元素的值。

127.0.0.1:6379> lset listtest 0 AdellOK127.0.0.1:6379> lrange listtest 0 -11) "Adell"2) "Fox"3) "Diamond"4) "Jam"5) "jone"6) "Auke"7) "LuLu"

5 lrem

删除和指定value相同值的元素。删除count个。count小于0时,从尾部开始删除。count=0时,全部删除。

127.0.0.1:6379> lrem listtest 2 Adell(integer) 1127.0.0.1:6379> lrange listtest 0 -11) "Fox"2) "Diamond"3) "Jam"4) "jone"5) "Auke"6) "LuLu"

6 ltrim

保留指定区间内的元素。

127.0.0.1:6379> lrange listtest 0 -11) "Fox"2) "Diamond"3) "Jam"4) "jone"5) "Auke"6) "LuLu"127.0.0.1:6379> ltrim listtest 1 -1OK127.0.0.1:6379> lrange listtest 0 -11) "Diamond"2) "Jam"3) "jone"4) "Auke"5) "LuLu"

7 lpop

从list的头部删除元素。

127.0.0.1:6379> lrange listtest 0 -11) "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 -11) "Jam"2) "jone"3) "Auke"4) "LuLu"

8 rpop

从尾部删除元素。

127.0.0.1:6379> lrange listtest 0 -11) "Jam"2) "jone"3) "Auke"4) "LuLu"127.0.0.1:6379> rpop listtest"LuLu"127.0.0.1:6379> lrange listtest 0 -11) "Jam"2) "jone"3) "Auke"

9 rpoplpush

从第一个list删除元素,添加到第二个list的头部。操作是原子性的。第一个list为空返回nil。

127.0.0.1:6379> lrange listtest2 0 -11) "4"2) "3"3) "2"4) "1"127.0.0.1:6379> rpoplpush listtest listtest2"Auke"127.0.0.1:6379> lrange listtest2 0 -11) "Auke"2) "4"3) "3"4) "2"5) "1"

10 lindex

返回list指定index的值。

127.0.0.1:6379> lindex listtest2 0"Auke"

11 llen

返回指定list的长度。

127.0.0.1:6379> llen listtest2(integer) 5
0 0
原创粉丝点击