02_NoSQL数据库之Redis数据库:string类型和hash类型(二)

2015-02-25 21:42:47 · 作者: · 浏览: 107
?
3) (nil)
?
4) "lampbrother.net"
?
5) "lijie@lampbrother"
?
6) "30"
?
127.0.0.1:6379>
?
?
?
incr
?
对key的值做加加操作,并返回新的值。
?
?
?
incrby
?
同incr类似,加指定值,key不存在时候会设置key,并认为原来的value是0.
?
127.0.0.1:6379> decr key6
?
(integer) -1
?
127.0.0.1:6379> decr key6
?
(integer) -2
?
127.0.0.1:6379> incr key6
?
(integer) -1
?
127.0.0.1:6379> incr key6
?
(integer) 0
?
127.0.0.1:6379> incrby key6 +5
?
(integer) 5
?
127.0.0.1:6379> incrby key +5
?
(integer) 5
?
127.0.0.1:6379> incrby key6 +5
?
(integer) 10
?
127.0.0.1:6379> get key6
?
"10"
?
127.0.0.1:6379>
?
?
?
decr
?
对key的值做减减操作
?
decrby
?
同decr类似,减指定值。
?
127.0.0.1:6379>decr key6
?
(integer)37
?
127.0.0.1:6379>decr key6
?
(integer)36
?
127.0.0.1:6379>decrby key6 -3
?
(integer)33
?
?
?
append
?
给指定key的字符串追加value,返回新字符串值的长度。
?
append name@li-jie.me
?
127.0.0.1:6379> get name
?
"totobrother"
?
127.0.0.1:6379> append name @li-jie.me
?
(integer) 21
?
127.0.0.1:6379> get name
?
"totobrother@li-jie.me"
?
127.0.0.1:6379>
?
?
?
strlen(查看字符串的长度)
?
取指定key的value值的长度。
?
127.0.0.1:6379> get name
?
"totobrother@li-jie.me"
?
127.0.0.1:6379> strlen name
?
(integer) 21
?
127.0.0.1:6379>
?
?
?
?
?
hashes类型
?
hashes类型及操作
?
Redis hash是一个string类型的field和value的映射表。它的添加、删除操作都是0(1)(平均)。hash特别适合用于存储对象。相较于将对象的每个字段存成当个string类型。将一个对象存储在hash类型中会占用更少的内存,并且可以更方便的存取整个对象。
?
?
?
hset(设置hash表)
?
设置hash field为指定值,如果key不存在,则先创建。
?
hset hash表名 key值 value值
?
127.0.0.1:6379> hset myhash field1 hello
?
(integer) 1
?
127.0.0.1:6379> hset user:001 name lijie
?
(integer) 1
?
通过hget获得值,hget hash表 名称
?
127.0.0.1:6379> hget user:001 name
?
"lijie"
?
127.0.0.1:6379>
?
?
?
hsetnx
?
设置hash field为指定值,如果key不存在,则先创建。如果存在返回0.
?
127.0.0.1:6379> hsetnx user:002 name lamp
?
(integer) 1
?
127.0.0.1:6379> hget user:002 name
?
"lamp"
?
127.0.0.1:6379> hsetnx user:002 name lampbrother //如果已经存在,再设置时设置不成功
?
(integer) 0
?
127.0.0.1:6379> hget user:002 name
?
"lamp"
?
127.0.0.1:6379>
?
?
?
hmset
?
同时设置hash的多个field
?
hmget:获取全部指定的hash field
?
127.0.0.1:6379> hsetnx user:002 name lampbrother
?
(integer) 0
?
127.0.0.1:6379> hget user:002 name
?
"lamp"
?
127.0.0.1:6379> hmset user:003 name lijie age 20 sex 1
?
OK
?
127.0.0.1:6379> hget user:003 name
?
"lijie"
?
127.0.0.1:6379> hget user:003 age
?
"20"
?
127.0.0.1:6379> hget user:003 sex
?
"1"
?
127.0.0.1:6379> hmget user:003 name age sex
?
1) "lijie"
?
2) "20"
?
3) "1"
?
127.0.0.1:6379>
?
?
?
hincrby
?
指定的hash field加上给定值。对某一个键进行自增。
?
?
?
?
?
hexists
?
测试指定field是否存在。
?
127.0.0.1:6379> hexists user:003 name
?
(integer) 1 //如果指定字段存在,则返回1,否则返回0
?
?
?
hlen
?
返回指定hash的field数量。
?
127.0.0.1:6379> hlen myhash
?
(integer) 1
?
127.0.0.1:6379> hlen user:001
?
(integer) 1
?
127.0.0.1:63