redis数据类型:hashes

redis hash 是一个string类型的field和value的映射表。

它的添加、删除操作都是O(1)(平均),hash特别适合用于存储对象

将一个对象存储在hash类型总会占用更少的内存,并且可以更方便的存取

整个对象。

hset方法:设置hash field为指定值,如果key不存在,则先创建

127.0.0.1:6379> hset user:001 name xiaoming
(integer) 1
127.0.0.1:6379> hget user:001 name
"xiaoming"

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

如果存在返回0.

127.0.0.1:6379> HSETNX user:001 name xiaohong
(integer) 0

hmset方法:批量设置hash field

127.0.01:6379> get user:002 name
(error) ERR wrong number of arguments for ‘get‘ command
127.0.01:6379> hget user:002 name
"xiaoming"
127.0.01:6379> hget user:002 age
"10"
127.0.01:6379> hget user:002 gender
"1"

hget方法:获取hash指定的filed的值

hmget方法:批量获取hash指定的filed值

127.0.01:6379> HMGET user:002 name age gender
1) "xiaoming"
2) "10"
3) "1"

hincrby方法:指定的hash field加上指定的值

127.0.01:6379> hincrby user:002 age 8
(integer) 18
127.0.01:6379> HMGET user:002 name age gender
1) "xiaoming"
2) "18"
3) "1"

hexists方法:测试指定的field是否存在,存在返回1

127.0.01:6379> HEXISTS user:002 name
(integer) 1

hlen方法:返回指定hash 的键数

127.0.01:6379> hlen user:002
(integer) 3

hdel方法:删除指定的hash的filed

127.0.01:6379> HDEL user:002 age
(integer) 1
127.0.01:6379> hget user:002 age
(nil)

hkeys方法:返回hash的所有field

127.0.01:6379> hkeys user:002
1) "name"
2) "gender"

hvals方法:返回hash的所有的value

127.0.01:6379> HVALS user:002
1) "xiaoming"
2) "1"

hgetall方法:返回所有字段和其对应值

127.0.01:6379> hgetall user:002
1) "name"
2) "xiaoming"
3) "gender"
4) "1"

时间: 2024-08-30 02:48:41

redis数据类型:hashes的相关文章

Redis数据类型:Hashes、Geo操作指令

Redis数据类型:Hashes.Geo操作指令 Hashes常用操作指令 Redis Hashes是一个键值对的映射表,最对能存储2^32-1(约40亿)个键值对. HSET HGET HSET:将键值对存储到哈希表中,如果哈希表不存在,新建一个然后在将键值对存储进去. HGET: 根据Key值获取value. 127.0.0.1:6379> ZADD sortset 1 name (integer) 1 127.0.0.1:6379> HSET myhash name zhangsan (

03 . redis 数据类型介绍

Redis  数据类型 1 . 5种类型: String :字符类型 Hash:   字典类型 List:   列表 Set:    集合 Sorted set:有序集合 2 . 键的通用操作命令: KEYS *          查看KEY支持通配符 DEL  删除给定的一个或多个key EXISTS          检查是否存在 RENAME      变更KEY名 SORT      键值排序,有非数字时报错 TYPE      返回键所存储值的类型 DUMP RESTORE   序例化

redis数据类型

Redis 数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). String(字符串) string是redis最基本的类型,一个key对应一个value. string类型是二进制安全的.意思是redis的string可以包含任何数据.比如jpg图片或者序列化的对象 . string类型是Redis最基本的数据类型,一个键最大能存储512MB. 实例: 在以上实例中我们使用了 Redis

Redis数据类型之字典

Redis数据类型之字典 标签(空格分隔): redis redis的字典 字典又称符号表(symbol table),关联数组(associative array),或者映射(map).是用于保存键值对的一种抽象数据结构. 字典的key是唯一的,对键值对的操作基本都是基于key来操作的.redis中的数据库底层是使用字典来实现的,对于数据库的增删改查都是基于字典来实现的.redis的哈希键也是基于字典来实现的. 具体的实现是在src下的dict.h和dict.c文件 字典的数据结构 哈希表结点

Redis数据类型之链表

Redis数据类型之链表 链表的实现 redis的列表的底层实现就是一个双链表,源码在src下的adlist.h和adlist.c 链表的结点数据结构 /* * 双端链表节点 */ typedef struct listNode { // 前置节点 struct listNode *prev; // 后置节点 struct listNode *next; // 节点的值 void *value; } listNode; 链表数据结构 /* * 双端链表结构 */ typedef struct l

Redis数据类型简介

Redis 数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). String(字符串) string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value. string类型是二进制安全的.意思是redis的string可以包含任何数据.比如jpg图片或者序列化的对象 . string类型是Redis最基本的数据类型,一个键最大能存储512M

redis数据类型及使用场景

Redis数据类型  String: Strings 数据结构是简单的key-value类型,value其实不仅是String,也可以是数字. 常用命令:  set,get,decr,incr,mget 等. 应用场景:String是最常用的一种数据类型,普通的key/ value 存储都可以归为此类.即可以完全实现目前 Memcached 的功能,并且效率更高.还可以享受Redis的定时持久化,操作日志及 Replication等功能.除了提供与 Memcached 一样的get.set.in

Lua 数据类型和 Redis 数据类型之间转换

当 Lua 通过 call() 或 pcall() 函数执行 Redis 命令的时候,命令的返回值会被转换成 Lua 数据结构. 同样地,当 Lua 脚本在 Redis 内置的解释器里运行时,Lua 脚本的返回值也会被转换成 Redis 协议(protocol),然后由 EVAL 将值返回给客户端. 数据类型之间的转换遵循这样一个设计原则:如果将一个 Redis 值转换成 Lua 值,之后再将转换所得的 Lua 值转换回 Redis 值,那么这个转换所得的 Redis 值应该和最初时的 Redi

Redis 学习笔记(二) Redis 数据类型

Redis 数据类型 Redis 支持五种数据类型:string(字符串).list(列表).hash(哈希).set(集合)和 zset(有序集合),接下来我们讲解分别讲解一下这五种类型的的使用. String(字符串) string 类型是 redis 最基本的类型,很多人说如果去除本地持久化,只使用 string 的话,那 redis 就是一个 memcached.string 类型,一个 key 对应一个 value,一个 value 最大能存储512MB的数据.string 类型是二进

Redis-cluster集群【第一篇】:redis安装及redis数据类型

Redis介绍: 一.介绍 redis 是一个开源的.使用C语言编写的.支持网络交互的.可以基于内存也可以持久化的Key-Value数据库. redis的源码非常简单,只要有时间看看谭浩强的C语言,在去看redis的源码能看懂50-60%. redis目前最大的集群应该是新浪的应该. redis目前是vmvaer来支持的,很多的开源软件都需要某些组织来支持的.如果一个开源软件没有金钱来支持的话很难走的持久 二.Redis和Memcache对比 持久化:以电商举例,session用memcache