Redis数据库基础操作

基础数据操作
Redis 命令查询手册: https://www.lanmper.cn/redis/c467.html
redis默认有16个 数据库(0-15)
进入数据库:select 3 切换到数据库3
info 查看redis服务的信息 info replication查看主从复制的状况
创建单个数据 :set 键名  值
创建多个数据: set 键名1 值1 键名2 值2
查看所有的key: keys *
查看key数据类型:type 键名
查看key是否存在:exists 键名 (返回1是存在,0是不存在)
删除key : del 键名
重命名 : rename 原键名 新建名
清空数据库:
flushdb #清空当前数据库
flushall #清空所有数据库

String类型

$key-->字符串/数值$
  1. key 不宜过长,占用内存,也不宜过短,可读性差 如:user:lauf
  2. 值,为字符串或者数值,最多存储512M
string数据操作
获取值:get 键名
获取多个值:mget 键名1 键名2 键名3
设置过期时间:set 键名 值 ex 时间
获取字符串长度: strlen 键名
获取字符串分片:getrange 键名 起始下标 结束下标
修改字符串片段值: setrange 键名 要修改的下标 替换数据
数值加一,减一:
    加:incr 键名(只能是整型)
    减:decr 键名
数值加5,减5:
    加:incrby 键名(只能是整型)
    减: decrby 键名

List数据操作:

插入(生成)列表:
    头插法:lpush 键名 值1 值2 值3(输出结果为:值3,值2,值1)
    尾插法:rpush 键名 值1 值2 值3 (输出结果为:值1,值2,值3)
更新列表:修改某下标的值
    lset 键名 要更新下标 新数据
删除列表:
    头删除:lpop 键名 #删除第一个值, 并立即返回该值
    尾删除:rpop 键名 #删除最后一个值, 并立即返回该值
    列表为空时,阻塞的删除:
        blpop  mylist  10
        brpop mylist 10
    删除指定值:lrem 键 删除数量  删除的元素(删除数量:为0删除全部,为-2:从表尾开始删除2个值,为2:从表头开始删除2个值)
    截取数据:ltim 键名 起始下标 结束下标(保留下标为 【起始下标,结束下标】之间的所有元素,删除其余元素)
查询列表:lrange key  起始 结束(返回指定区间内的内容)
获取列表长度:llen key
Hash数据操作:
     插入哈希:
        单个插入:hset 键名1 值1( 键名2 值2) (形式为: user:123:{name :jack}  )
        多个插入: hset 键名1 值1{ 键名2 值2 键名3 值3} (形式为:{ user:123:{name :jack} {age : 18}}  )
        给指定字段加数量: hincrby 键名1  值1{键2 值2}(必须是整数增加)
    查询哈希:
        hget 键名 字段名  #指定字段的值
        hgetall 键名  # 获取所有字段和值
         hkeys key  #获取所有的字段
        hvals key   #获取所有的值
    删除哈希:
             # 删除一个或多个哈希字段, 返回删除的个数
            hdel 键 字段

Set数据库操作:Set 是 String 类型的无序的容器结构。集合成员是唯一的,不能出现重复的数据。

    插入合集:
         sadd 键 成员1 成员2 # 向集合添加一个或多个成员
        127.0.0.1:6379> sadd  workers  tom lucy jack
        (integer) 3
    删除 合集:
        srem 键 成员1 成员2 # 移除集合中一个或多个成员
        127.0.0.1:6379> srem workers  tom
        (integer) 1
     查询 合集:
        # 获取集合的成员数
        scard 键 
        127.0.0.1:6379> scard workers
        (integer) 3
         # 返回集合中的所有成员
        smembers 键
        127.0.0.1:6379> smembers workers
        1) "tom"
        2) "jack"
        # 判断是否集合中的成员
        sismember 键  成员
    
      

Zset数据库操作:

     插入有序集合: zadd 键 数值1 成员1 数值2 成员2
      删除有序集合:
            删除一个或多个:zrem 键 成员
             根据排名区间删除:zremrangebyrank 键 起始下标  结束下标
             根据分数区间删除:zremrangebyscore  键 起始值  结束值
      更新 有序集合:   
               zincrby 键 数值 成员  (数值为正数增加,为负数减少,为字符串修改)
     
     查询有序集合:
            查询所有成员:zcard  键
             指定区域成员个数:zcount 键 最小值  最大值
             返回指定成员排名(下标):zrank  键 成员
             降序排序后的排名(下标):zrevrank 键 成员
             获取成员的分数值:zscore 键 成员
            返回指定索引区间内的成员:zrange  键  起始下标  结束下标
             指定索引区间内成员数据:zrange  键  起始下标  结束下标  withscores
    条件查询:
# zrangebyscore 键 最小 最大 [WITHSCORES] [LIMIT]  # 返回指定分数区间内的成员
# limit 进行分割, 从第二个数据开始
 zrangebyscore salary 8000 20000 limit 2 1 withscores  #查询 薪资在8000到20000之间的所有员工以及对应的薪资,并对结果分页,每页显示1条数据,第3页
zrevrangebyscore key max min [withscores]  # 返回有序集中指定分数区间内的成员,分数从高到低排序
 zrevrangebyscore salary 20000 8000  # 查询 薪资在8000到20000之间的所有员工,按照薪资降序展示
zrevrangebyscore salary 20000 8000 limit 2 1 withscores  #查询薪资在8000到20000之间的所有员工以及对应的薪资,按照薪资降序展示,并对结果分页,每页显示1条数据,第3页

版权声明:本文为xyx_312原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。