zoukankan      html  css  js  c++  java
  • Redis学习笔记--Hash(五)

    Redis的数据是通过key-value的方式存储的,对于value的数据类型有字符串、Hash、list、set、sortedSet
    在redis命令语句中,语句是忽略大小写的,但是key是不可以忽略大小写的。

    使用string遇到的问题。

      假设:我们使用一个类对象以json的形式存储在Redis中,类中有很多属性,我们有时候只是想修改其中一个数据的时候,操作就要回将数据从string中取出来,然后修改,这样会影响响应的速度。可以使用Hash来解决这个问题。

    Hash的简单的介绍

      hash叫做散列类型,它提供了字段和值的映射,字段只能是字符串类型,不支持散转类型和集合类型等其它数据类型。
    1.Hash类型
    1.1命令
    1.1.1赋值

    HSET命令不区分插入和更新操作,当执行插入操作时HSET命令返回1,当执行更新操作时返回0。

    语法:HSET key field value (一次插入一个值)

    127.0.0.1:6379> hset user username zhangsan 
    (integer) 1

    一次设置多个字段

    语法:HMSET key field value [field value]

    127.0.0.1:6379> hmset user age 20 username lisi 
    OK

    1.1.2取值

    一次取一个值

    语法:HGET key field

    127.0.0.1:6379> hget user username
    "zhangsan“

    一次获取多个值

    语法:HMGET key field [field ……]

    127.0.0.1:6379> hmget user age username
    1) "20"
    2) "lisi"

    获取所以的字段

    HGETALL key

    127.0.0.1:6379> hgetall user
    1) "age"
    2) "20"
    3) "username"
    4) "lisi"

    1.1.3删除字段

    可以一次删除一个或者多个字段,返回值是被删除的字段个数

    语法:HDEL key field [field……]

    127.0.0.1:6379> hdel user age
    (integer) 1
    127.0.0.1:6379> hdel user age name
    (integer) 0
    127.0.0.1:6379> hdel user age username
    (integer) 1 

    1.1.4增加数字

    语法:HINCRBY  key field increnum

    127.0.0.1:6379> hincrby user age 2    将用户的年龄加2
    (integer) 22
    127.0.0.1:6379> hget user age        获取用户的年龄
    "22“

    1.1.5判断字段是否存在

    语法:HEXISTS key field

    127.0.0.1:6379> hexists user age        查看user中是否有age字段
    (integer) 1
    127.0.0.1:6379> hexists user name    查看user中是否有name字段
    (integer) 0

    1.1.6只获取字段或者字段值

    语法:HKEYS key

       HVALS key

    127.0.0.1:6379> hmset user age 20 name lisi 
    OK
    127.0.0.1:6379> hkeys user
    1) "age"
    2) "name"
    127.0.0.1:6379> hvals user
    1) "20"
    2) "lisi"

    1.1.7获取字段数量

    语法:HLEN key

    127.0.0.1:6379> hlen user
    (integer) 2

    2.1应用

    存储商品信息 ,比如商品的id,商品名称,商品……

    2.1.1存储商品信息

    192.168.101.3:7003> HMSET items:1001 id 3 name apple price 999.9
    OK

    2.1.2商品信息获取

    192.168.101.3:7003> HGET items:1001 id
    "3"
    192.168.101.3:7003> HGETALL items:1001
    1) "id"
    2) "3"
    3) "name"
    4) "apple"
    5) "price"
    6) "999.9"
  • 相关阅读:
    java中判断文件存在与否
    crontab安装以及定时任务的执行
    su命令学习
    linux中如何查看哪些用户允许登录
    linux中的压缩文件的格式
    R语言学习(瑞士军刀)
    linux下mysql导入导出sql文件
    创建线程池的7种方法
    docker运行tomcat
    Docker之镜像
  • 原文地址:https://www.cnblogs.com/kw28188151/p/8150902.html
Copyright © 2011-2022 走看看