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

一 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) 0redis 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"
时间: 2024-11-07 03:01:41

深入浅出Redis03使用Redis数据库(hashes类型)的相关文章

深入浅出Redis02 使用Redis数据库(String类型)

一 String类型 首先使用启动服务器进程 : redis-server.exe 1. Set 设置Key对应的值为String 类型的value. 例子:向 Redis数据库中插入一条数据类型为String 的记录. 在客户端输入命令: C:\software\redis\64bit>redis-cli.exe -h 127.0.0.1 -p 6379 redis 127.0.0.1:6379> set foo test OK redis 127.0.0.1:6379> get fo

深入浅出Redis04使用Redis数据库(lists类型)

一  lists类型及操作 List是一个链表结构,主要功能是push,pop,获取一个范围的所有值等等,操作中key理解为链表的名字. Redis的list类型其实就是一个每个子元素都是sring类型的双向链表.我们可以通过push,pop操作从链表的头部或者尾部添加删除元素,这样 list既可以作为栈,有可以作为队列. 二 lists类型的使用 1. lpush 在key对应list的头部添加字符串. redis 127.0.0.1:6379> lpush mylist1 world (in

redis之hashes类型及操作

hashes类型及操作Redis hash是一个string类型的field和value的映射表.它的添加.删除操作都是O(1)(平均).hash特别适合用于存储对象.相较于将对象的每个字段存成单个string类型.将一个对象存储在hash类型中会占用更少的内存,并且可以更方便的存取整个对象.省内存的原因是新建一个hash对象时开始是用zipmap(又称为small hash)来存储的.这个zipmap其实并不是hash table,但是zipmap相比正常的hash实现可以节省不少hash本身

redis的hashes类型

redis hash 是一个string类型的field和value 的映射表.它的添加.删除操作都是O(1) . hash特别适合用于存储对象.相较于将对象的每个字段存成单个string类型 . 将一个对象存储在hash类型中会占用更少的内存,并且可以更方便的存取整个对象 . hset : 设置一个hash表 , 设置hash field 为指定值 , 如果 key 不存在 , 则先创建 . hset  myhash  field1  hello eg  :  hset  user:001  

redis数据库list类型各方法封装成类

1 import redis 2 3 4 class MyRedisList(object): 5 def __init__(self, key): 6 self.key = key 7 self.connection = redis.StrictRedis(db=0, decode_responses=True) 8 9 def add(self, direction="r", *values): # 增加数据(lpush rpush) 10 if direction == &quo

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

 Strings类型及操作 String是最简单的类型,一个key对应一个Value,String类型是二进制安全的.Redis的String可以包含任何数据,比如jpg图片或者序列化的对象. Set 设置Key对应的值为string类型的value. 例如:我们添加一个name=lijie的键值对: 127.0.0.1:6379> set name toto OK //获取name的值: 127.0.0.1:6379> get name "toto" //再次重新设置

小蚂蚁学习Redis笔记(4)——Redis数据类型之hashes类型

hashes类型 hash是一个string类型的field和value的映射表.它特别适合用于存储对象.相较于将对象的每个字段存成单个的string类型,将一个对象存储在hash类型中会占用更少的内存,并且可以更方便的存取整个对象. hashes常用命令 1.    hset    设置对象的字段和值 格式:    hset    user:001    name    "allen" 含义:为user:001这个对象,将它的name键设置一个值为allen. 注意:如果同样的对象,

Redis数据库(list类型)

list是一个链表结构,主要功能是push,pop,获取一个范围内所有值等等,操作中key可以理解为链表的名字. Redis的list类型实际上就是每个子元素都是string类型的双向链表,我们可以通过push,pop命令操作从链表 的头部或者尾部添加删除元素,这样list既可以作为栈,又可以作为队列. list常见的操作: (1)lpush和rpush lpush表示在key对应的list的头部添加字符串元素.例如:lpush list Hello rpush表示在key对应的list的尾部添

03_NoSQL数据库之Redis数据库:list类型

 lists类型及操作 List是一个链表结构,主要功能室push,pop.获取一个范围的所有值等等,操作中key理解为链表的名字.Redis的list类型其实就是一个每个元素都是string类型的双向链表.我们可以通过push.pop操作从链表的头部或者尾部添加删除元素,这样list既可以作为栈,又可以作为队列. lpush:在key对应list的头部添加字符串元素. rpush:在key对应的list的尾部添加字符串元素. linsert:在key对应list的特定位置前或后添加字符串.