码迷,mamicode.com
首页 > 数据库 > 详细

深入浅出Redis03使用Redis数据库(hashes类型)

时间:2015-07-12 15:39:41      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:

一 hashes类型及操作

  Redis hash是一个string类型的field和value的映射表。它的添加,删除操作都是0(1)(平均)。hash特别适合用于存储对象,相较于对将对象的每个字段存成单个string类型。将一个对象存储在hash类型会占用更少的内存,并且可以更方便的存取整个对象。

1  hset

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

redis 127.0.0.1:6379> hset user:001 name lisi
(integer) 0
redis 127.0.0.1:6379> hget user:001 name
"lisi"

 

2.hsetnx

   设置hash field为指定值,如果key不存在,则先创建。如果存在返回0.

redis 127.0.0.1:6379> hsetnx user:001 name wangwu
(integer) 0
redis 127.0.0.1:6379> hget user:001 name
"lisi"

 

3,hmset

   同时设置 hash的多个field

redis 127.0.0.1:6379> hmset myhash field1 hello field2 world
OK
redis 127.0.0.1:6379> hget myhash field1
"hello"
redis 127.0.0.1:6379> hget myhash field2
"world"
redis 127.0.0.1:6379>

 

4 hget

  获取指定的hash field

5. hmget

   获取全部指定的hash field

redis 127.0.0.1:6379> hmset myhash field1 hello field2 world
OK
redis 127.0.0.1:6379> hget myhash field1
"hello"
redis 127.0.0.1:6379> hget myhash field2
"world"
redis 127.0.0.1:6379> hmget myhash field1 field2
1) "hello"
2) "world"

 

6.  hincrby

    指定hash field加上给定值。

redis 127.0.0.1:6379> hset myhash age 1
(integer) 1
redis 127.0.0.1:6379> hget myhash age
"1"
redis 127.0.0.1:6379> hincrby myhash age 8
(integer) 9
redis 127.0.0.1:6379> hget myhash age
"9"

 

7. hexists

   测试指定的field是否存在。

redis 127.0.0.1:6379> hexists myhash age
(integer) 1

 

8 hlen

   返回指定hash的field数量

redis 127.0.0.1:6379> hlen myhash
(integer) 3

 

9. hdel

  删除指定hash的field

redis 127.0.0.1:6379> hdel myhash field1
(integer) 1

 

10. hkeys

  返回hash的所有field

redis 127.0.0.1:6379> hkeys myhash
1) "field2"
2) "age"

 

11. hgetall

  获取某个hash中全部的 field及value.

redis 127.0.0.1:6379> hgetall myhash
1) "field2"
2) "world"
3) "age"
4) "9"

 

深入浅出Redis03使用Redis数据库(hashes类型)

标签:

原文地址:http://www.cnblogs.com/wangshuo1/p/4640926.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!