初识Redis——string和hash数据类型

119 阅读2分钟

「这是我参与2022首次更文挑战的第20天,活动详情查看:2022首次更文挑战」。

前言

大家好,我是程序猿小白 gw_Gw,很高兴能和大家一起学习进步。

以下内容部分来自于网络,如有侵权,请联系我删除,本文仅用于学习交流,不用作任何商业用途。

摘要

本文主要介绍Redis的string数据类型和hash数据类型的使用。

1. string类型

string是Redis最简单的数据类型,用来存放单个数据,即一个key对应一个value,最大可存放512MB。如果存放的是数字,可以作为数字来进行操作。

基本操作

  1. 添加数据

    set key value
    
  2. 获取数据

    get key
    

    获取成功:

    image-20220215202811430

    获取失败:

    image-20220215202844187

  3. 删除数据,返回删除的个数

    del key
    

    删除成功:

    image-20220215202828876

    删除失败:

    image-20220215202907059

    删除多个数据,返回删除的个数。

    del key1 key2 ...
    

    image-20220215203856014

  4. 添加多个数据

mset key1 value1 key2 value2 ...

image-20220215203659936

  1. 获取多个数据
mget key1 key2 ...

image-20220215203721482

如果获取的某个数据不存在,那个不存在的返回为nil

image-20220215203812599

  1. 获取key对应value的字符串长度
strlen key

image-20220215204131717

  1. 追加字符串到原字符串后面,如果原字符串存在则添加到后面,如果不存在则新建。最后返回添加成功后的字符串长度。
append key value

image-20220215204044829

扩展操作

  1. 让数值数据增加指定的值。

    加1

    incr key
    

    image-20220215205818245

    加指定的整数值

    incrby key increment
    

    image-20220215205854975

    加指定的小数的值

    incrbyfloat key increment
    

    image-20220215205931924

  2. 让数值数据减少指定的值。只能针对整数。

    减1

    decr key
    

    image-20220215210109789

    减指定的值

    decrby key increment
    

    image-20220215210229939

上面的increment的值可以是负数,相当于相反操作。

  1. 设置数据的生存周期

    setex key seconds value
    psetex key millisseconds value
    

    image-20220215211253086

key的命名规范

表名:主键名:主键值:字段名

user:id:123456:name

2. hash类型

hash类型是string类型的field和value的映射表,一个存储空间中有多个field和value对。适用于存储对象。底层使用哈希表结构存储。

image-20220215213352105

hash的基本操作

  1. 添加数据

    hset key field value
    

    image-20220215213742519

  2. 获取数据

    hget key field
    hgetall key 
    

    image-20220215213759761

  3. 删除数据

    hdel key field1 field2 ...
    

    image-20220215213845162

  4. 添加多个数据

    hmset key field1 value1 field2 value2 ...
    

    image-20220215214233220

  5. 获取多个数据

    hmget key field1 field2 ...
    

    image-20220215214258147

  6. 获取字段的数量

    hlen key
    

    image-20220215214316008

  7. 获取指定的字段是否存在

    hexists key field
    

    image-20220215214351743

扩展操作

  1. 获取所有字段名或字段值

    hkeys key
    hvals key
    

    image-20220215215058716

  2. 为指定字段增加指定值。

    hincrby key field increment
    hincrbyfloat key field increment
    

    image-20220215215149052

  3. 如果field不存在则添加,否则不添加。

    hsetnx key field 
    

小结

以上就是关于Redis中string数据类型和hash数据类型的一些介绍,希望能对读者有所帮助,如有不正之处,欢迎留言指正。