• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Redis > Redis中散列类型的常用命令小结

Redis中散列类型的常用命令小结

作者:Joans 字体:[增加 减小] 来源:互联网 时间:2017-05-11

Joans通过本文主要向大家介绍了近视眼中散光是什么,中散,中散集团,中散大夫,安中散等相关知识,希望本文的分享对您有所帮助

Redis散列类型

Redis是采用字典结构以键值对的形式存储数据的,而散列类型(hash)的键值也是一种字典结构,其存储了字段和字段值的映射,但字段值只能是字符串,不支持其他数据类型,也就是说,散列类型不能嵌套其他的数据类型。一个散列类型键可以包含至多2^32-1个字段。

除了散列类型,Redis的其他数据类型同样不支持数据类型嵌套。比如集合类型的每个元素只能是字符串,不能是一个集合或者散列表等。

散列类型适合存储对象:使用对象类别和ID构成建名,使用字段表示对象的属性,而字段值存储属性值。例如要存储ID为2的汽车对象,可以分别使用名为color、name和price的三个字段来存储该汽车的颜色、名称和价格。

1、基本命令

例如现在要存储ID为1的文章,分别有title、author、time、content

则键为post:1,字段分别为title、author、time、content,值分别为“the first post”、“me”、“2014-03-04”、“This is my first post.”,存储如下

redis 127.0.0.1:6379> hmset post:1 title "the first post" author "JoJo" time 2016/08/25 content "this is my first post"
OK
</div>

这里使用的是hmset命令,具体散列的基本赋值命令如下:

hset key field value   #例如hset post:2 title “second post”

hget key field             #例如hget post:2 title,获取id为2的post的title值

hmset key field value [field value ...]  #这个同上,批量存值

hmget key field [field ...]                      #批量取值,取得列表

例:

redis 127.0.0.1:6379> hmget post:1 time author
1) "2016/08/25"
2) "JoJo"
</div>

hgetall key                  #取得key所对应的所有键值列表,这里给出个例子

redis 127.0.0.1:6379> hgetall post:1
1) "title"
2) "the first post"
3) "author"
4) "JoJo"
5) "time"
6) "2016/08/25"
7) "content"
8) "this is my first post"
</div>

 2、判断是否存在

hexists key field
</div>

如果存在返回1,否则返回0(如果键不存在也返回0)。

3、当字段不存在时赋值

hsetnx key field value
</div>

这个和hset的区别就是如果字段存在,这个命令将不执行任何操作,但是这里有一个区别就是Redis提供的这些命令都是原子操作,不会产生数据不一致问题。

例:

redis 127.0.0.1:6379> hexists post:1 time
(integer) 1  //判断是存在time字段的
redis 127.0.0.1:6379> hsetnx post:1 time 2016/08/26
(integer) 0  //不存在的话,设置time,存在的话返回0,值不变,原始值
redis 127.0.0.1:6379> hget post:1 time
"2016/08/25"
redis 127.0.0.1:6379> hsetnx post:1 age 23
(integer) 1   //不存在age字段,返回1,并设置age字段
redis 127.0.0.1:6379> hget post:1 age
"23"
</div>

4、增加数字

hincrby key field number
</div>

这里就和incry命令类似了。

例:

redis 127.0.0.1:6379> hincrby post:1 age 2
(integer) 25
</div>

5、删除字段

hdel key field [field ...]
</div>

删除字段,一个或多个,返回值是被删除字段的个数。

6、其他命令

hkeys key    #获取字段名

hvals key    #获取字段名

示例如下:

redis 127.0.0.1:6379> hkeys post:1
1) "title"
2) "author"
3) "time"
4) "content"
5) "age"
redis 127.0.0.1:6379> hvals post:1
1) "the first post"
2) "JoJo"
3) "2016/08/25"
4) "this is my first post"
5) "25"
</div>

最后还有一个就是获取字段数量的命令:

hlen key
</div>

返回字段的数量

redis 127.0.0.1:6379> hlen post:1
(integer) 5
</div>

总结

以上就是Redis中散列类型常用命令的全部内容了,希望能对大家的学习或者工作带来一定的帮助,如果有疑问大家可以留言交流。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Redis中散列类型的常用命令小结

相关文章

  • 2017-05-11Redis2.8配置文件中文详解
  • 2017-05-11Redis教程之代理ip池设计方法详解
  • 2017-05-11利用ganglia监控redis的最新解决方法
  • 2017-05-11redis启动流程介绍
  • 2017-05-11Windows环境部署Redis集群
  • 2017-05-11Linux下Redis安装配置教程
  • 2017-07-23Redis缓存技术学习系列之事务处理
  • 2017-05-11基于Redis实现分布式锁以及任务队列
  • 2017-05-11Redis教程(二):String数据类型
  • 2017-08-07redis key 模糊查询

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • Redis教程(十三):管线详解
    • 简单粗暴的Redis数据备份和恢复方法
    • redis 自动关闭订单
    • 在redhat6.4安装redis集群【教程】
    • Redis教程(二):String数据类型
    • redis key 模糊查询
    • Redis教程(九):主从复制配置实例
    • Python的Flask框架使用Redis做数据缓存的配置方法
    • Redis实现信息已读未读状态提示
    • Redis4基于CentOS6集群搭建

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有