zoukankan      html  css  js  c++  java
  • Redis 的Hashs(哈希表)数据类型

    在Memcached中,我们经常将一些结构化的信息打包成hashmap,在客户端序列化后存储为一个字符串的值,比如用户的昵称、年龄、性别、积分等,这时候在需要修改其中某一项时,通常需要将所有值取出反序列化后,修改某一项的值,再序列化存储回去。这样不仅增大了开销,也不适用于一些可能并发操作的场合(比如两个并发的操作都需要修改积分)。而Redis的Hash结构可以使你像在数据库中Update一个属性一样只修改某一项属性值。

    本文的命令参考:http://www.redisdoc.com/en/latest/hash/index.html

    赋值与取值

    赋值设置命令:HMSET key field value [field value ...]

    取值命令:HMGET key field [field ...]

     

    127.0.0.1:6379> hmset pet dog "doudou" cat "tom" aa "郭红俊"              # 一次设置多个域         
    OK
    127.0.0.1:6379> hmget pet dog
    1) "doudou"
    127.0.0.1:6379> hmget pet dog aa dd                                                # 返回值的顺序和传入参数的顺序一样
    1) "doudou"
    2) "xe9x83xadxe7xbaxa2xe4xbfx8a"
    3) (nil)                                                                                          # 不存在的域返回nil值 
    127.0.0.1:6379>

     

    批量操作命令

    127.0.0.1:6379> hkeys pet
    1) "dog"
    2) "cat"
    3) "aa"
    127.0.0.1:6379> hvals pet
    1) "doudou"
    2) "tom"
    3) "xe9x83xadxe7xbaxa2xe4xbfx8a"
    127.0.0.1:6379> hgetall pet
    1) "dog"
    2) "doudou"
    3) "cat"
    4) "tom"
    5) "aa"
    6) "xe9x83xadxe7xbaxa2xe4xbfx8a"
    127.0.0.1:6379> hdel pet aa
    (integer) 1
    127.0.0.1:6379> hgetall pet
    1) "dog"
    2) "doudou"
    3) "cat"
    4) "tom"
    127.0.0.1:6379>

    判断是否存在

    127.0.0.1:6379> hexists pet bbb
    (integer) 0
    127.0.0.1:6379> hexists pet dog
    (integer) 1

     

    参考资料:

    Redis 命令参考
    http://www.redisdoc.com/en/latest/index.html

    十五分钟介绍 Redis数据结构
    http://blog.nosqlfan.com/html/3202.html

    Redis系统性介绍
    http://blog.nosqlfan.com/html/3139.html

    Redis之七种武器
    http://blog.nosqlfan.com/html/2942.html

    试用redis
    http://try.redis.io/

    Redis 设计与实现
    http://www.redisbook.com/en/latest/

  • 相关阅读:
    zabbix--安装
    Openstack--部署实例
    openstack--neutron--service(lb、Security group、FW)
    openstack--neutron--router
    openstack--neutron--flat
    openstack--neutron--local
    docker网络
    docker三剑客之docker-machine
    容器
    镜像
  • 原文地址:https://www.cnblogs.com/ghj1976/p/3556119.html
Copyright © 2011-2022 走看看