• linux_redis常用数据类型操作


    1.string类型

    set   设置key
    get   获取key
    append  追加string
    mset   设置多个键值对
    mget   获取多个键值对
    del  删除key
    incr  递增+1
    decr  递减-1
    
    例如:set name zhangsan
    127.0.0.1:6379> set name 'tt'   #设置key
    OK
    127.0.0.1:6379> get name    #获取value
    "tt"
    127.0.0.1:6379> set name 'tiger'  #覆盖key
    OK
    127.0.0.1:6379> get name    #获取value
    "tiger"
    127.0.0.1:6379> append name ' dsb'   #追加key的string
    (integer) 10
    127.0.0.1:6379> get name  #获取value
    "tiger dsb"
    127.0.0.1:6379> mset user1 'alex' user2 'xiaopeiqi'    #设置多个键值对
    OK
    127.0.0.1:6379> get user1    #获取value
    "alex"
    127.0.0.1:6379> get user2    #获取value
    "xiaopeiqi"
    127.0.0.1:6379> keys *      #找到所有key
    1) "user2"
    2) "name"
    3) "user1"
    
    127.0.0.1:6379> mget user1 user2 name   #获取多个value
    1) "alex"
    2) "xiaopeiqi"
    3) "tiger dsb"
    127.0.0.1:6379> del name        #删除key
    (integer) 1
    127.0.0.1:6379> get name        #获取不存在的value,为nil
    (nil)
    127.0.0.1:6379> set num 10    #string类型实际上不仅仅包括字符串类型,还包括整型,浮点型。redis可对整个字符串或字符串一部分进行操作,而对于整型/浮点型可进行自增、自减操作。
    OK    
    127.0.0.1:6379> get num
    "10"
    127.0.0.1:6379> incr num    #给num string 加一 INCR 命令将字符串值解析成整型,将其加一,最后将结果保存为新的字符串值,可以用作计数器
    (integer) 11
    127.0.0.1:6379> get num  
    "11"
    
    127.0.0.1:6379> decr num      #递减1  
    (integer) 10
    127.0.0.1:6379> decr num    #递减1
    (integer) 9
    127.0.0.1:6379> get num
    "9"

    2.list类型

    lpush         从列表左边插
    rpush         从列表右边插
    lrange          获取一定长度的元素  lrange key  start stop
    ltrim               截取一定长度列表
    lpop                 删除最左边一个元素
    rpop                     删除最右边一个元素
    lpushx/rpushx                key存在则添加值,不存在不处理
    lpush duilie 'alex' 'peiqi' 'ritian'  #新建一个duilie,从左边放入三个元素
    
    llen duilie  #查看duilie长度
    
    lrange duilie 0 -1  #查看duilie所有元素
    
    rpush duilie 'tiger'   #从右边插入tiger
    
    lpushx duilie2  'dsb'  #key存在则添加 dsb元素,key不存在则不作处理
    
    ltrim duilie 0 2  #截取队列的值,从索引0取到2,删除其余的元素
    
    lpop #删除左边的第一个
    rpop #删除右边的第一个

    3.sets集合类型

    redis的集合,是一种无序的集合,集合中的元素没有先后顺序。
    
    集合相关的操作也很丰富,如添加新元素、删除已有元素、取交集、取并集、取差集等。我们来看例子:
    
    sadd/srem   添加/删除 元素
    sismember   判断是否为set的一个元素
    smembers    返回集合所有的成员
    sdiff             返回一个集合和其他集合的差异
    sinter           返回几个集合的交集
    sunion          返回几个集合的并集
    sadd zoo  wupeiqi yuanhao  #添加集合,有三个元素,不加引号就当做字符串处理
    
    smembers zoo  #查看集合zoo成员
    
    srem zoo  wupeiqi #删除zoo里面的alex
    
    sismember zoo wupeiqi  #返回改是否是zoo的成员信息,不存在返回0,存在返回1
    
    sadd zoo wupeiqi   #再把wupeiqi加入zoo
    
    smembers zoo  #查看zoo成员
    
    sadd zoo2 wupeiqi mjj #添加新集合zoo2
    
    sdiff zoo zoo2 #找出集合zoo中有的,而zoo2中没有的元素
    
    sdiff zoo2  zoo  #找出zoo2中有,而zoo没有的元素
    
    sinter zoo zoo1   #找出zoo和zoo1的交集,都有的元素
    
    sunion  zoo zoo1  #找出zoo和zoo1的并集,所有的不重复的元素

    4.哈希数据结构

    键key:{
           域field:值value
    }
    - 设置单个属性
    
      > hset key field value
    
    - 例1:设置键 `user`的属性`name`为`xiaohong`
    
      > hset user name xiaohong
    
    - 设置多个属性
    
      > hmset key field1 value1 field2 value2 ...
    
    - 例2:设置键`u2`的属性`name`为`xiaohong`、属性`age`为`11`
    
      > hmset u2 name xiaohong age 11
    
    - 获取指定键所有的属性
    
      > hkeys key
    
    - 例3:获取键u2的所有属性
    
      > hkeys u2
    
    - 获取⼀个属性的值
    
      > hget key field
    
    - 例4:获取键`u2`属性`name`的值
    
      > hget u2 name
    
    - 获取多个属性的值
    
      > hmget key field1 field2 ...
    
    - 例5:获取键`u2`属性`name`、`age`的值
    
      > hmget u2 name age
    
    
    
    - 获取所有属性的值
    
      > hvals key
    
    - 例6:获取键`u2`所有属性的值
    
      > hvals u2
    
    - 删除属性,属性对应的值会被⼀起删除
    
      > hdel key field1 field2 ...
    
    - 例7:删除键`u2`的属性`age`
    
      > hdel u2 age

    5.有序集合类型

  • 相关阅读:
    一顿午饭引发的风波
    用exp无法导出空表解决方法/用exp导出数据时表丢失原因
    程序员的不归路
    IIS权限设置
    超级基础搭建Android开发环境
    业务流程图与数据流程图的比较
    发布asp.net应用程序后,其中导入、导出excel报错的解决方案
    Validation of viewstate MAC failed异常的原因及解决方法
    orarcle11g中服务代表的意思
    最新BIOS设置中英文对照表
  • 原文地址:https://www.cnblogs.com/jalen-123/p/13498519.html
Copyright © 2020-2023  润新知