zoukankan      html  css  js  c++  java
  • 02-其他数据类型

    一、hash类型

      hash用于存储对象,对象的结构为属性、值(值的类型为String)

    增加、修改

    1、设置单个属性:

    hset key field value
    #设置键user的属性name为itheima
    hset user name itheima

     Redis被配置为保存数据库快照,但它目前不能持久化到硬盘。用来修改集合数据的命令不能用。

    原因:

    • 强制关闭Redis快照导致不能持久化。 解决方案:

    • 运行config set stop-writes-on-bgsave-error no 命令后,关闭配置项stop-writes-on-bgsave-error解决该问题。

    2、设置多个属性

    hmset key field1 value1 field2 value2
    #设置键u2的属性name为itcast、属性age为11
    hmset u2 name itcast age 11

    获取

    1、获取指定键所有的属性

    hkeys key
    #获取键u2的所有属性
    hkeys u2

    2、获取一个属性的值

    hget key field
    #获取键u2属性name的值
    hget u2 name

    3、获取多个属性的值

    hmget key field1 field2
    #获取键u2属性name,age的值
    hmget u2 name age

    4、获取所有属性的值

    hvals key
    #获取键u2所有属性的值
    hvals u2

    删除

    删除整个hash键及值,使用del命令,删除属性,属性对应的值会被一起删除

    hdel key field1 field2
    #删除键u2的属性age
    hdel u2 age

    二、list类型

    列表的元素类型为string,按照插入顺序排序

    增加

    1、在左侧插入数据

    lpush key value1 value2
    #从键为a1的列表左侧加入数据a,b,c
    lpush a1 a b c

    2、在右侧插入数据

    rpush key value1 value2
    #从键为a1的列表右侧加入数据0,1
    rpush a1 0 1

    3、在指定元素的前或后插入新元素

    linsert key before或after 现有元素 新元素
    #在键为a1的列表中元素b的前面加入3
    linsert a1 before b 3

    获取

    返回列表⾥指定范围内的元素

    • start、stop为元素的下标索引
    • 索引从左侧开始,第⼀个元素为0
    • 索引可以是负数,表示从尾部开始计数,如-1表示最后⼀个元素
    lrange key start stop
    #获取键为'a1'的列表所有元素
    lrange a1 0 -1

    设置指定索引位置的元素值

    • 索引从左侧开始,第⼀个元素为0
    • 索引可以是负数,表示尾部开始计数,如-1表示最后⼀个元素

    lset key index value
    #修改键为'a1'的列表中下标为1的元素值为'z'
    lset a1 1 z

    删除

    删除指定元素

    • 将列表中前count次出现的值为value的元素移除
    • count > 0: 从头往尾移除
    • count < 0: 从尾往头移除
    • count = 0: 移除所有
    lrem key count value
    #向列表'a2'中加⼊元素'a'、'b'、'a'、'b'、'a'、'b'
    #lpush a2 a b a b a b
    
    #从'a2'列表右侧开始删除2个'b'
    lrem a2 -2 b
    
    #查看列表'a2'的所有元素
    lrange a2 0 -1

    三、set类型

    • ⽆序集合
    • 元素为string类型
    • 元素具有唯⼀性,不重复
    • 说明:对于集合没有修改操作

    增加

    1、添加元素

    sadd key member1 member2
    #向键'a3'的集合中添加元素'zhangsan'、'lisi'、'wangwu'
    sadd a3 zhangsan lisi wangwu

    获取

    1、返回所有元素

    smembers key
    #获取键'a3'的集合中所有元素
    smembers a3

    删除

    1、删除指定元素

    srem key value
    #删除键'a3'的集合中元素'wangwu'
    srem a3 wangwu

    四、zset类型

    • sorted set,有序集合
    • 元素为string类型
    • 元素具有唯⼀性,不重复
    • 每个元素都会关联⼀个double类型的score,表示权重,通过权重将元素从⼩到⼤排序
    • 说明:没有修改操作

    增加

    1、添加

    zadd key score1 member1 score2 member2 
    #向键'a4'的集合中添加元素'lisi'、'wangwu'、'zhaoliu'、'zhangsan',权重分别为4、5、6、3
    zadd a4 4 lisi 5 wangwu 6 zhaoliu 3 zhangsan

    获取

    • 返回指定范围内的元素
    • start、stop为元素的下标索引
    • 索引从左侧开始,第⼀个元素为0
    • 索引可以是负数,表示从尾部开始计数,如-1表示最后⼀个元素

    zrange key start stop
    #获取键'a4'的集合中所有元素
    zrange a4 0 -1
    #返回score值在min和max之间的成员
    zrangebyscore key min max
    
    #获取键'a4'的集合中权限值在5和6之间的成员
    zrangebyscore a4 5 6

    返回成员member的score值

    zscore key member
    #获取键'a4'的集合中元素'zhangsan'的权重
    zscore a4 zhangsan

    删除

    1、删除指定元素

    zrem key member1 member2 
    #删除集合'a4'中元素'zhangsan'
    zrem a4 zhangsan

    2、删除权重在指定返回的元素

    zremrangebyscore key min max
    #删除集合'a4'中权限在5、6之间的元素
    zremrangebyscore a4 5 6
  • 相关阅读:
    剑指offer字符串列表
    剑指offer数组3
    剑指offer数组2
    剑指offer数组1
    剑指offer数组列表
    tensorflow+ssd_mobilenet实现目标检测的训练
    Win7+keras+tensorflow使用YOLO-v3训练自己的数据集
    Java是如何实现跨平台的
    Xshell 、PuTTY 复制文件到Linux
    Asp.Net Core2.0在linux下发布
  • 原文地址:https://www.cnblogs.com/lishuntao/p/11703354.html
Copyright © 2011-2022 走看看