• 1.3 Redis五大数据类型


    一、String类型

            String在redis里面是最简单的数据类型,它是用来存储字符串的,它也是最基本的数据类型。

    我们可以使用redis-cli命令先连接到Redis,然后使用auth redis密码,来设置登录redis的密码。

            使用keys * 命令来查看当前Redis库里面有多少个键。

            现在是为空的。

            我们可以通过set name lvxiaosha 和set age 18来设置键。

            然后通过keys命令可以将当前库里面所有的key都拉取出来。

            keys命令生产环境不建议使用

    1. set

      1. 当对应key的value有值的时候,在set,会将当前的value覆盖

      2. 使用 SETNX key value; 当对应key的value有值的时候,不会对其造成影响

    2. ttl key 查看当前key的过期时间(ttl : time to leave)

    3. EXPIRE key 30  给一个key的值设置过期时间(单位秒)

      1. 也可以 set key value ex 20  也可以给一个值设置过期时间

      2. 时间过期 ttl age 为-2,过期后key和value都不存在了

    4. APPEND key value 拼接

    5. 查看字符串长度 STRLEN key

    6. 累加/累减

      1. incr key  相当于  key的value +1

      2. decr key  相当于 key的value -1

      3. INCRBY key 10 key的value + 数值

      4. INCRBY key 10 key的value - 对应数值

      5. 为什么明明是字符串,但是可以做加减呢,因为虽然显示的是string但是对于这种数字保存的时候是 integaer类型

    7. getrange 截取某一部分数据

      1. getrange name 0 -1 (-1代表到达最长长度)

      2. getrange name 0,4   (截取下标为 0-4长度的字符串)

    8. setrange  key  [index]  value  从下标 index开始包括index下标开始替换字符串内容

    9. mset/mget 批量设值/批量取值

      1. mset key1 value key2 value2

      2. mget key1 key2

      3. nsetnx  和 setnx差不多

    10. redis默认有16个库,在redis.conf--database中配置(每个数据库数据不互通)

      1. 默认在下标为0的库中,切换库  select 1切换到下标为1的库

    11. flushdb 清除当前库中所有内容

    12. flushall  清除所有库中内容

    二、hash类型

    hash:类似于map,存储结构化数据结构,比如存储一个对象(不能有嵌套对象)

    使用

    hset key property value:

    ->hset user name 张三

    创建一个user对象,这个对象中包含name属性,name值为张三

    hget user name:活动用户对象中的name的值

    hmset:设置对象中的对过键值对

    ->hmset user age 18 phone 13109885230

    hmsetnx:设置对象中的多个键值对,存在则不添加

    ->hmsetnx user age 18 phone 13109885230

    hmget:活动对象中的多个属性

    ->hmget user age phone

    hgetall user:获得整个对象的内容

    hincrby user age 2:累加属性

    hincrbyfloat user age 2.2:累加属性

    hlen user:有多少个属性

    hexists user age:判断属性是否存在

    hkeys user:获得所有的属性

    hvals user:获得所有的值

    hdel key filed [filed...]: 删除对象中的属性,没有属性后对象会自动删除

    三、list类型

    ●    常用命令

    ●    案例

    ●    常用命令

        ◆    flushdb

        ◆    lpush list1 pig cow sheep chichen duck

        ◆    lrange list 0 -1 (查询)

        ◆    rpush list2 pig cow sheep chichen duck

        ◆    lpop list1(取值,取出就没有,从左边)

        ◆    rpop list2(取值,取出就没有,从右边)

        ◆    llen list1

        ◆    lindex list2 (从 0 开始)

        ◆    lset list 1 1001 (替换下标的值)

        ◆    linsert list1 before  1001 aaa( 在什么前面插入值)

        ◆    linsert list1 after 1001 aaa( 在什么后面插入值)

        ◆    lrem list 2 aaa(删除 相同的数据,2表示删除2个)

        ◆    ltrim list 1 2 (截取数据)

        ◆    del list1

    ●    案例

        lpush    list1 pig cow  想当于 left  以朝向左边的方式存放数据(<------)

        rpush   list2 pig cow 相当于 right  以朝向右边的方式存放数据 (------>)

    四、set类型(不能有重复值的数据)

    1. sadd set  value1 value2  value3  添加,会自动去重 

    2. SMEMBERS set  查看set中元素

    3. scard set   查看set中元素包含多少数量

    4. SISMEMBER set value  查看set中是否包含某元素(1存在/0不存在)

    5. srem set value  删除某元素

    6. spop set (count)  加了count就是 出几个元素, 不加就默认出一个

    7. SRANDMEMBER set  count  从当前set中随机获取 conut个元素内容

      1. 在用户中(前几名随机获取几位幸运观众)

    8. smove set1(源) set2(移动到这里) value  将set1中的value移动到set2中

    9. 差集/交集/并集

      1. 差集 sdiff set1 set2   去set1中包含的内容,set2不包含的取出来

      2. sinter set1 set2  取交集

      3. sunion set1 set2  取并集

    五、zset类型

    zset 是有序的

    ●    常用命令

    ●    Redis命令参考网址

    ●    常用命令

        ◆    zadd [key] [number1] [val1] [number2] [val2] [number3] [val3] ...

        ◆    zrange [key] 0 -1    (查看)

        ◆     zrange [key] 0 -1 withscores (查看,带有分数)

        ◆    zrank [key] beef(查看index)

        ◆    zscore [key] beef (查看特定某一项的分数)

        ◆    zcard [key] (查看这个key中有几个成员)

        ◆    zcount [key] min max(查看min到max中间的数据,包含min和max)

        ◆    zrangebyscore [key] min max (包含)

        ◆    zrangebyscore [key] (min (max

            (不包含 min 和max)

        ◆    zrangebyscore  [key] 20 40 limit  1 2(类似分页)

        ◆    zrem [key] [val1] [val2] [val3] ... (删除,多项,后面直接添加)

    ●    Redis命令参考网址

            redisdoc.com

  • 相关阅读:
    节日网页HTML代码 学生网页课程设计期末作业下载 清明节大学生网页设计制作成品下载 DW节日网页作业代码下载
    6-zinx基于Golang-多路由实现
    Windows 安装 chromedriver 和 Python 调试
    canvas画点、线
    新入职后的第一天GitLab 与 SourceTree的结合使用
    java:springboot 整理webSocket
    传感器的基本特性
    修改git tag的描述信息
    Bootstrap 框架学习笔记(基础)
    C++11 新增特性
  • 原文地址:https://blog.csdn.net/Xx13624558575/article/details/126521570