Redis学习第二课:Redis Hash类型及操作

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

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

hget:获取指定的hash field。

127.0.0.1:6379>hset user:001 name Tom

(integer)1

127.0.0.1:6379>hset user:001 age 28

(integer)1

127.0.0.1:6379>hget user:001 name

"Tom"

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

127.0.0.1:6379>hset user:001 name Jack

(integer)0

hmset:同时设置hash的多个字段。

hmget:获取全部指定的hash field。

127.0.0.1:6379> hmset user:002 id 1 name Mark sex male age 29

OK

127.0.0.1:6379> hget user:002

(error) ERR wrong number of arguments for ‘hget‘ command

127.0.0.1:6379> hmget user:002 id name male age

1) "1"

2) "Mark"

3) (nil)

4) "29"

hincrby:指定的hash field加上给定值。

127.0.0.1:6379> hincrby user:002 age 6

(integer) 35

127.0.0.1:6379> hincrby user:002 age -2

(integer) 33

hexists:测试指定field在hash中是否存在。

127.0.0.1:6379> hexists user:002 sex

(integer) 1

127.0.0.1:6379> hexists user:001 sex

(integer) 0

hlen:返回指定hash的field数量。

127.0.0.1:6379> hlen user:001

(integer) 2

127.0.0.1:6379> hlen user:002

(integer) 4

hdel:删除指定hash的field。

127.0.0.1:6379> hdel user:002 sex

(integer) 1

127.0.0.1:6379> hget user:002 sex

(nil)

hkeys:返回hash的所有field。

127.0.0.1:6379> hkeys user:002

1) "id"

2) "name"

3) "age"

127.0.0.1:6379> hkeys user:001

1) "name"

2) "age"

hvals:返回hash的所有value。

127.0.0.1:6379> hvals user:002

1) "1"

2) "Mark"

3) "33"

hgetall:获取某个hash中全部的field及value。

127.0.0.1:6379> hgetall user:002

1) "id"

2) "1"

3) "name"

4) "Mark"

5) "age"

6) "33"

时间: 2024-08-22 22:15:17

Redis学习第二课:Redis Hash类型及操作的相关文章

golang语言学习第二课:变量类型及常量与枚举

go语言的变量类型: bool (true为0,false不等于0), string int 分好多种int,有点头晕,但用默认的int就足够了,根据机器判断,是32位的用int32,是64位的用int64. byte, 又是uint8的别名. rune(类似char,但是是utf-8编码的char),又是int32的别名. go语言没有float,只有float32, float 64(即使在32位的架构上还是64位) go语言原生支持复数类型,类似python, python也支持复数.go

二:redis 的hash类型相关操作

=====================二种:hash类型================== 介绍:redis -> hash是一个string类型的field和value的映射表 hash特别适合对应存储对象,相较于将对象的每个字段存成单个string类型 将一个对象存储在hash类型中会占用更少的内存,并且可以方便的存取整个对象 0:hset *如果 key(就是hash表) 不存在,一个新的哈希表被创建并进行 HSET 操作 设置hash field为指定值,如果key不存在,则先创建

IOS学习第二课 UIAlertView和UIActionSheet

1    UIAlertView 类似于Android中的Dialog,简单用法如下: UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Title" message:@"Messate" delegate:nil cancelButtonTitle:@"Cancle" otherButtonTitles:nil, nil]; [alertView show]; 2   U

安卓学习第二课——短信发送器

package com.example.message; import android.app.Activity; import android.os.Bundle; import android.telephony.SmsManager; import android.text.TextUtils; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button;

第二课补充01——redis-cli命令行详解、string类型、list类型、hash类型命令操作详解

一. redis-cli命令行参数 1.-x参数:从标准输入读取一个参数: [问题] [解决] 因为echo命令是默认带有回车\n的,不带回车需要echo –n命令: echo -n "haha"|redis-cli -x set name,从标准输入读入一个参数到redis,就不会有回车符: 2.-r参数:重复执行一个命令指定的次数: -i参数:设置命令执行的间隔: 例子:每隔1秒执行一次,一共执行3次info命令 3.-rdb文件:获取指定redis实例的rdb文件,保存到本地 可

Redis 学习第一课:安装Linux Redis

对于分布式缓存,之前公司项目中只使用了MemCached,使用比较方便,有现成的C#版本组件. 如今用Redis的公司有很多,所以打算了解一下Redis. Redis的官网地址:http://redis.io Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis的开发工作由VMware主持.从2013年5月开始,Redis的开发由Pivotal赞助. Redis是一个key-

Redis学习笔记(三) Redis API与常用数据类型简介

一.Redis中常用数据类型 由上一篇博客可知,Redis目前提供五种数据类型:string(字符串).list(链表).Hash(哈希).set(集合)及zset(sorted set)  (有序集合).现在,我们一一来看看这五种数据类型的基本使用方法.在开始介绍之前,我们先使用刚刚引入的Redis API建立一个Redis客户端对象,有了这个客户端对象,我们才能和Redis服务端进行通信,且看下面的一行代码.我们需要事先指定好Redis服务端的IP地址和端口号,然后根据这两个信息建立一个Re

Redis学习总结之三——Redis客户端命令

Windows命令行启动Redis客户端 1. 使用默认IP地址和端口连接Redis数据库(IP地址:127.0.0.1,端口号6379) redis-cli 2. 使用指定IP地址和端口连接Redis数据库 redis-cli -h 192.168.2.144 -p 6379 查询所有键值 keys * 读写String类型的Value 1 set name ‘ljx’//写String类型 2 get name//读String类型 读写List类型的Value //写List类型1 rpu

Redis学习总结之一——Redis初入

Redis简介 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API. Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set --有序集合)和hash(哈希类型).这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是