ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Redis(key 和 常用数据类型)

2022-01-03 20:31:03  阅读:214  来源: 互联网

标签:数据类型 Redis value field score value2 key key2


  1. key命令

    keys * 查看当前库中的所有key
    exists key 判断某个key 是否存在
    type key 查看key是什么类型
    del key 删除指定的key数据
    unlink key (仅将keys从keyspace元数据中删除,真正的删除会在后续异步操作)
    expire key n :设置key n秒后过期
    ttl key 查看key是否过期 -1 为永不过期 -2 为 已过期,别的数字为剩余秒数
    select 切换数据库
    dbsize 查看当前数据库的key的数量
    flushdb 清空当前库
    flushall 清空所有库

  2. string
    set key value 设置key和value
    get key 获取key的value
    append key xxx 在key的value后追加值
    strlen key 获取key的value的长度
    setnx key value 设置key和value(和set的区别:如果key存在,set会覆盖掉原来的key的value,setnx只会设置不存在的key)
    incr key 使key的value的值加1 前提key的value为一个整数
    decr key 使key的value的值减1 前提key的value为一个整数
    incrby key n 使key的value的值加n 前提key的value为一个整数
    decrby key n 使key的value的值减n 前提key的value为一个整数
    mset key value key2 value2 … 设置多个key value
    mget key key2 … 获得多个value
    msetnx key value key2 value2 …设置多个key value(设置中有一个key已存在就设置不成功)
    getrange key n m 获得key的value中的第n 到m 为(起始为0)
    setrange key n xxx 设置 key的value的第n位后的值
    setex key n value 设置key和value的同时,设置n秒后该键值过期
    getset key value 获取现在的key的value并设置新的value

  3. List
    lpush key value value2… 从左边插入一个或多个值
    rpush key value value2… 从右边插入一个或多个值
    lpop key 从左边取出一个value (当所有的value都被取出时,该键值灭亡)
    rpop key 从右边取出一个value (当所有的value都被取出时,该键值灭亡)
    rpoplpush key key2 从 key 的右边取出一个value 放到 key2 的左边
    lrange key n m 获得n到m的下标的value(n等于0 m 等于-1时,表示获得所有的因为左边第一个下标为0,右边第一个下标为-1)
    lindex key n 获取第n个元素(从左到右)
    llen key 获得列表长度(value的个数)
    linsert key before value xxx 在value前面再插入一个新的value
    linsert key after value xxx 在value后面再插入一个新的value
    lrem key n value 从左边删除 n 个value(从左到右)
    lset key n value 修改key中下标为n 的value

  4. set
    sadd key value value2 … 将一个或多个value 放入到集合 key 中 已经存在的 value会自动忽略
    smembers key 获得该集合中的所有值
    sismember key value 判断集合key中是否有该value 有就返回 1 没有就返回 0
    scard key 返回该集合的元素的个数
    srem key value value2 … 删除集合中的某个元素(一个或多个)
    spop key 随机取出一个元素
    srandmember key n 随机从key中获取n 个value
    smove key key2 value 将 key 的 一个value 移动到 key2中

  5. hash
    hset key field value 给key中的一个field赋值(这里key相当于一个对象,field为其中的属性)
    hget key field 取出key中的field的值
    hmset key field value field2 value2… 设置多个hash值
    hexists key field 查看key中是否存在该field
    hkeys key 列出key中所有的field
    hvals key 列出key中所有的field的值
    hincrby key field n 给key中的field的值加 n
    hsetnx key field value 给key中的一个field(field不存在)赋值

  6. zset
    zadd key score value score2 value2… 将一个或多个score和value存入key中
    zrange key n m withscores 返回有序集key 下标从 n 到 m(不加withscores就只显示value)
    zrangebyscore key n m withscores 返回有序的key,所有的score的值在 n 到 m 之间 (包括n 和 m , n小于m), 按照从小到大来排列
    zrevrangebyscore key n m withscores 返回有序的key,所有的score的值在 n 到 m 之间 (包括n 和 m , n大于m), 按照从大到小来排列
    zincrby key n score 为 key中的对应的score的value 加上 n
    zrem key value 删除指定的元素
    zcount key n m 统计value在 n 到 m 之间的 元素个数
    zrank key score 返回该score 在集合中的排名 从零开始

标签:数据类型,Redis,value,field,score,value2,key,key2
来源: https://blog.csdn.net/Badman0726/article/details/122276826

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有