• redis -- 数据类型及操作


    远程连接

    redis-cli -h host -p port -a password
    
    # 中文乱码
    --raw
    
    • 1
    • 2
    • 3
    • 4

    基础数据类型

    string

    • String
    # 创建key
    > set name zhangsan
    OK
    # 获取key
    > get name
    "zhangsan"
    # 同时设置多项和获取多项
    > set name zhangsan 
    > set age 18
    > mset city wuhan country China
    > mget name age city country
    1) "zhangsan"
    2) "18"
    3) "wuhan"
    4) "China"
    
    # 删除key
    > del name
    (integer) 1
    > get name
    (nil)
    
    # 检查是否存在
    > exists name
    (integer) 1
    > exists age
    (integer) 0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 数字类型的String
    > set n 11
    OK
    > get n
    "11"
    # 依次加一
    > incr n 
    (integer) 12
    # 依次减一
    > decr n 
    (integer) 11
    # 加特定值
    > incrby n 10
    (integer) 14
    # 减特定值
    > decrby n 10
    (integer) 4
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    set

    string类型的无序集合, 底层是 HashTable 数据结构,
    字符串元素是无序的,且不能重复

    # 添加
    > sadd friends zhangsan
    (integer) 1
    > sadd friends lisi
    (integer) 1
    # 查看
    > smembers friends
    1) "lisi"
    2) "zhangsan"
    # 移除指定值
    > srem friends lisi
    # 随机删除
    > spop friends
    "zhangsan"
    # 判断元素是否存在
    > sismember friends zhangsan
    (integer) 1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    zset

    # 添加
    > zadd country 1 China
    (integer) 1
    > zadd country 1 UK
    (integer) 1
    # 查看
    > zrange country 0 -1
    1) "China"
    2) "UK"
    > zrange country 0 -1 withscores
    1) "China"
    2) "1"
    3) "UK"
    4) "1"
    # 移除指定值
    > zrem country UK
    (integer) 1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    List

    # 从左边依次插入
    > lpush rlist zhangsan lisi
    (integer) 2
    > lpush rlist wangwu
    (integer) 3
    
    # 从右边依次插入
    > rpush rlist chenliu
    (integer) 4
    
    
    # 查看
    > lrange rlist 0 -1
    1) "wangwu"
    2) "lisi"
    3) "zhangsan"
    4) "chenliu"
    
    # 从左边依次删除
    > lpop rlist 
    "wangwu"
    # 从左边依次删除
    > rpop rlist 
    "chenliu"
    > lrange rlist 0 -1
    1) "lisi"
    2) "zhangsan"
    
    # 查看索引为1的key值
    > lindex rlist 1
    "zhangsan"
    # 修改索引为1的key值
    > lset rlist 1 lili
    OK
    > lrange rlist 0 -1
    1) "lisi"
    2) "lili"
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38

    Hash

    类似于Java中的Map,是一个 String 类型的 field 和 value 的映射表(键值对集合),并且特别适合用来存储对象

    # hset 
    > hmset user name zhangsan age 18 sex male
    OK
    
    # hget
    > hget user name
    "zhangsan"
    
    # hmget
    > hmget user name
    1) "zhangsan"
    
    # 查看所有值
    hkeys user
    1) "name"
    2) "age"
    3) "sex"
    4) "height"
    
    # 修改
    > hset user height 145
    (integer) 0
    > hmget user height
    1) "145"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 过期时间
    • expire: 设置过期时间
    • ttl: 获取过期时间,返回-1表示没有设置,-2表示数据不存在
    > set name zhangsan
    OK
    > expire name 20
    (integer) 1
    > ttl name
    (integer) 4
    > ttl name
    (integer) -2 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
  • 相关阅读:
    基于springboot小区团购管理系统
    06-JVM 性能调优
    10.SpringBoot实战演练
    数据结构 - 线段树的运用
    几种混合模式移动应用开发框架的对比
    亿美软通参与编制,《5G消息业务显示规范》等团标正式发布
    远程存储访问授权
    谷歌浏览器再次引入争议API,遭苹果、火狐抵制
    LRU缓存机制
    uniapp调用接口渲染的问题
  • 原文地址:https://blog.csdn.net/qq_25672165/article/details/125522350