一、hash类型

  hash是一个string类型的field和value的映射表。添加,删除操作都是O(1)(平均)。
  hash特别适合用于存储对象。相对于将对象的每个字段存成单个string类型。将一个对象存储在hash类型中会占用更少的内存,并且可以更方便的存取整个对象。省内存的原因是新建一个hash对象时开始是用 zipmap(又称为 small hash)来存储的。这个 zipmap 其实并不是hashtable,但是zipmap相比正常的hash实现可以节省不少hash本身需要的一些元数据存储开销。尽管zipmap的添加,删除,查找都是 O(n),但是由于一般对象的field 数量都不太多。所以使用zipmap也是很快的,也就是说添加删除平均还是O(1)。如果field 或者 value的大小超出一定限制后,redis会在内部自动将zipmap替换成正常的hash实现.
这个限制可以在配置文件中指定。
hash-max-zipmap-entries 64 #配置字段最多 64 个
hash-max-zipmap-value 512 #配置 value 最大为 512 字节

二、hash的基本操作

  1. hset key field value  设置hash field为指定值,如果key不存在,则创建,存在则覆盖.
  2. hget key field   获取指定的hash field。
  3. hmget key filed1....fieldN  获取全部指定的hash filed。
  4. hmset key filed1 value1 ...... filedN valueN  同时设置hash的多个field。
  5. hincrby key field integer  将指定的hashfiled 加上指定值。成功返回hashfiled变更后的值。
  6. hexists key field  检测指定field是否存在。存在返回1,不存在返回0.
  7. hdel key field  删除指定的hash field。 成功返回1,失败返回0.
  8. hlen key  返回指定hash的field数量。
  9. hkeys key  返回hash的所有field。
  10. hvals key   返回hash的所有value。
  11. hgetall  返回hash的所有filed和value。
  12. hsetnx key filed value  添加一个VALUE到HASH STORE中,如果key存在,则失败。
  13. hincrbyfloat key field float  根据HASH表的KEY,为KEY对应的VALUE自增参数VALUE。浮点型。

最新文章

  1. java:集合的自定义多重排序
  2. Tomcat启动服务报错:Unknown version string [3.1]. Default version will be used.
  3. 【翻译十七】java-并发之高性能对象
  4. Java学习笔记(三)——运算符
  5. jquery.qrcode.js 插件生成二维码
  6. 免费微信公众号专用h5在线电影票API
  7. windows 下使用免安裝版MySql5.5
  8. flask中的request.form对象方法
  9. ubuntu下安装myeclipse
  10. RabbitMQ-从基础到实战(3)— 消息的交换
  11. ansible学习基础知识和模块(一)
  12. abap 变量检查
  13. puts方法要点
  14. SQL Server数据库(时间戳timestamp)类型 (转载)
  15. php实现单点登录,顶级域名与子域名间共享Cookie实现单点登录原理
  16. C语言结构体在内存中的存储情况探究------内存对齐
  17. 语义化的HTML及其目的
  18. 【MySQL数据库权限】RDS for MySQL创建高权限账号
  19. [原创] css中的绝对定位和相对定位
  20. PAT1072. Gas Station (30)

热门文章

  1. Tempdb--TempDB Basic
  2. Linux带有时间控制的多进程bash脚本
  3. Android实现表单提交,webapi接收
  4. LightOJ 1138 Trailing Zeroes (III)(二分 + 思维)
  5. 批判“await使用中的阻塞和并发”——对asyc/await这对基友的误会和更正
  6. Could not find any resources for the specified culture or the neutral culture
  7. Lock的await/singal 和 Object的wait/notify 的区别
  8. ubuntu emacs的安装
  9. RabbitMq初探——用队列实现RPC
  10. python网络编程--线程(锁,GIL锁,守护线程)