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

hashes类型

hash是一个string类型的field和value的映射表。它特别适合用于存储对象。相较于将对象的每个字段存成单个的string类型,将一个对象存储在hash类型中会占用更少的内存,并且可以更方便的存取整个对象。

hashes常用命令

1.    hset    设置对象的字段和值

格式:    hset    user:001    name    "allen"

含义:为user:001这个对象,将它的name键设置一个值为allen。

注意:如果同样的对象,同样的键设置多次,上次的值会被覆盖掉。在第一次设置成功的时候返回1,重复设置返回0.

2.    hsetnx    同上,但是对象的key不能重复

格式:    hsetnx    user:001    name    "amy"

含义:    为user:001这个对象,将它的name键设置一个值为amy,但是这个值存在,则无法设置,返回0。如果不存在,就创建。和setnx很像。

3.    hmset    批量设置对象的键值

格式:    hmset    user:002    name    “allen”    age    “27”    sex    “1”

含义:    批量设置对象的键值。成功返回OK。重复设置会发生覆盖。

4.    hget    获取对象中某键的值

格式:    hget    user:002    name

含义:    获取user:002对象键为name的值。如果键不存在返回空(nil)

5.    hmget    批量获取对象的值

格式:    hmget    user:002    name    age    sex    对象后面跟着需要查看的键

含义:    根据设置key的顺序依次返回需要的值,如果键不存在,返回空(nil)

6.    hincrby    为对象中的某元素的值进行指定数值的递增。

格式:    hincrby    user:002    age    3

含义:    为user:002中的age键,每次递增3。

注意:    这个命令和incrby一样,正数是递增,负数为递减。

7.    hexists    检查哈希中某个字段是否存在

格式:    hexists    user:002    name

含义:    查看user:002中是否存在name这个键。存在返回1,不存在返回0。

8.    hlen    查看对象中键的个数

格式:    hlen    user:002

含义:    查看user:002中键的个数。

9.    hdel    删除指定hash中的key

格式:    hdel    user:002    name

含义:    删除掉对象user:002的name键。删除成功,返回1。失败返回0。

10.    hkeys    返回某对象所有的key

格式:    hkeys    user:002

含义:    返回user:002所有的key。

11.    hvals    返回某对象所有的值

格式:    hvals    user:002

含义:    返回对象user:002中的所有值。

12.    hgetall    返回某对象所有内容。有键,有值。

格式:    hgetall    user:002

含义:    返回user:002对象的所有内容。

注意:    如果对象不存在,返回 (empty list or set)

学PHP的小蚂蚁 原创博客 http://my.oschina.net/woshixiaomayi/blog

时间: 2024-10-27 10:04:12

小蚂蚁学习Redis笔记(4)——Redis数据类型之hashes类型的相关文章

Redis (非关系型数据库) 数据类型 之 String类型

Redis 一个内存数据库,通过 Key-Value 键值对的的方式存储数据.由于 Redis 的数据都存储在内存中,所以访问速度非常快,因此 Redis 大量用于缓存系统,存储热点数据,可以极大的提高网站的响应速度. Redis通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型. String 子串类型 常用基本操作 1.set  键  值     # -----

Redis的6种数据类型

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

点滴记录——学习Redis笔记

转载请说明出处:http://blog.csdn.net/cywosp/article/details/39701409 Redis 默认端口6379 Redis适用场景 1. 取最新N个数据的操作 2. 排行榜应用,取TOP N操作 3. 需要精确设定过期时间的应用 4. 计数器应用 5. Uniq操作,获取某段时间所有数据排重值 6. 实时系统,反垃圾系统 7. Pub/Sub构建实时消息系统--消息的发布与订阅 8. 构建队列系统 9. 缓存 Redis数据类型 Strings类型及操作

(一)Redis笔记——简介 、key 、数据类型

1.  Redis是什么.特点.优势 Redis是一个开源的使用C语言编写.开源.支持网络.可基于内存亦可持久化的日志型.高性能的Key-Value数据库,并提供多种语言的API. 它通常被称为数据结构服务器,因为值(value)可以是 字符串(String).哈希(Map). 列表(list).集合(sets) 和 有序集合(sorted sets)等类型. Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的

「Redis 笔记」数据类型

REmote DIctionary Server(Redis),一个 key-value 存储系统. 数据类型 Redis 支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). string string 类型是二进制安全的.意思是 redis 的 string 可以包含任何数据.比如 jpg 图片或者序列化的对象. string 类型是 Redis 最基本的数据类型,一个键最大能存储 512MB. 相关命令:

redis笔记(一)-string数据类型

一.概述: 字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等.在Redis中字符串类型的Value最多可以容纳的数据长度是512M. 二.相关命令列表: 命令原型                                            时间复杂度             返回值 命令描述 APPEND key value O(1) 追加后Value的长度 如果该Key已

redis学习(二)——String数据类型

一.概述 字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等.在Redis中字符串类型的Value最多可以容纳的数据长度是512M. 二.相关命令 1.赋值命令 命令原型:SET key value 时间复杂度:O(1) 命令描述:设定该Key持有指定的字符串Value,如果该Key已经存在,则覆盖其原有值. 返回值:总是返回"OK". 2.取值命令 命令原型:GET key

Redis学习笔记~StackExchange.Redis实现分布式Session

回到目录 对于多WEB的环境现在已经是必须的了,很难想像一台WEB服务器面对百万并发的响应,所以,我们需要多台WEB服务器集群合作,来缓解这种高并发,高吞吐的场景,而对于多WEB的场景又会有个问题出现,即session存储的问题,如一个用户登陆后,把一个状态信息存储到当前WEB服务器的session里,而你请求其它页面时,很可能就被路由到另一台服务器了,这时,session也就丢了,而对于这种情况,有人把redis这个存储中间件想了起来,对它进行了封装,就有了今天基于redis的session共

Redis缓存技术学习系列之邂逅Redis

??作为一个反主流的开发者,在某种程度上,我对传统关系型数据库一直有点"讨厌",因为关系型数据库实际上和面向对象思想是完全冲突的,前者建立在数学集合理论的基础上,而后者则是建立在软件工程基本原则的基础上.虽然传统的ORM.序列化/反序列化在一定程度上解决了这种冲突,但是软件开发中关于使用原生SQL语句还是使用ORM框架的争论从来没有停止过.可是实际的业务背景中,是完全无法脱离数据库的,除非在某些特定的场合下,考虑到信息安全因素而禁止开发者使用数据库,在主流技术中数据库是一个非常重要的组