美文网首页
2020-09-16 redis

2020-09-16 redis

作者: ElfACCC | 来源:发表于2020-09-16 15:10 被阅读0次

redis

  • 用户量增大,请求数量增大数据压力大。多台服务器锁,不互斥。数据不同步。
  • redis是基于内存存储和读取数据的。接受请求是单线程的(相当于锁了,可以把共享数据放在redis里面)
  • Nosql是非关系型数据库,redis就是nosql(key-value)

redis常用命令

  • redis存储数据的结构:常用的5种
    • key-string(一个值):最常用,用于存储一个值
    • key-hash(一个map):存储一个对象数据
    • key-list(列表,有序,即按照存入顺序排序,允许重复):使用list结构实现栈和队列结构
    • key-set(无序,他会自己再排个序,不允许重复):交集,差集,并集的操作
    • key-zset(一个有序的不允许重复集合):排行榜,积分存储等操作


      image.png

string常用命令

  • 添加值: set key value
  • 取值: get key
  • 批量:mset key value [key value.....] mget key [key.....]
  • 自增: incr key(自增1) 点赞功能
  • 自减: decr key(-1)
  • 自增或自减指定数量: incrby key increment; decrby key increment


    image.png

  • 设置值的同时,指定生存空间:setex key second value(每次向redis中添加数据时,尽量都设置上生存时间)
  • 设置值,如果当前key不存在的话,什么事都不做。如果key不存在,和set命令一样: zetnx key value
  • 在key对应的value后,追加内容:append key value
  • 查看value字符串的长度: strlen key


    image.png

hash常用命令

  • 存: hset key field value
  • 取: hget key field
  • 批量: hmset key field value [field value.....]; hmget key field [field..]


    image.png

  • 自增 指定值: hincrby key field increment (可以是负数)
  • 设置值,如果key-field不存在,就添加,存在,就不操作:hsetnx key field value
  • 检查field是否存在 : hexists key field
  • 删除某一个,多个field:hdel key field[field....]


    image.png

  • 获取全部 :hgetall key
  • 获取全部field: hkeys key
  • 获取全部value: hvals key
  • 获取当前hash结构中field的数量: hlen key


    image.png

list常用命令

  • 存:(从左侧)lpsuh key value[value....]; (右侧插入)rpush key value[value...]
  • 存(如果key不存在,什么都不做。如果key存在,但是不是list结构,什么都不做): lpushx key value; rpushx key value
  • 存(指定索引):lset key index value


    image.png
    image.png

  • 获取数据,弹栈,数据会移除(左侧,右侧):lpop key; rpop key
  • 获取指定索引范围的数据(start从0开始,stop,输入-1是最后一个,-2是倒数第二个): lrange key start stop
  • 获取指定索引位置的数据: lindex key index
  • 获取长度:lline key


    image.png

  • 删除列表中的数据(删除的是当前list中的count个value值,count大于0是左侧从右侧删除,count小于0,是从右边开始删, count等于0,是删除全部value):lrem key count value
  • 保留列表中的数据(指定范围,超出范围的数据都会被移除):ltrim key start stop

set常用命令

  • 存储数据: sadd key member [member....]
  • 获取数据 : (全部数据)smembers key ;(随机获取一个数据):spop key [count] (count默认为1)(获取的同时,会移除数据)


    image.png

  • 交集: sinter set1 set2 ....
  • 并集: sunion set1 set2....
    -差集: (获取多个集合中不一样的数据) sdiff set1 set2 ....


    image.png

  • 删除数据: srem key member[member...]
  • 查看是否包含: sismember key member


    image.png

zset常用命令

  • 添加: zadd key score member [score member...] (score必须是数值,member不允许重复)
  • 修改member分数: zincrby key increment member(如果member存在于key,则正常添加分数。如果member不存在,就相当于zadd)
  • 查询指定member的分数:zscore key member
  • 获取zset中数据的数量: zcard key
  • 查询一定分数范围的数量: zcount key min max
  • 删除zset中的成员:zrem key member[member...]


    image.png

  • 根据分数,从小到大,获取指定范围的数据:zrange key start stop [withscores] (如果withscores添加了,会反胃member的具体分数,不加就不返回分数)
  • 根据分数排序 从大到小排序:zrevrange key start stop [withscores]
  • 根据分数的返回获取数据:zrangescore key min max[withscores]

相关文章

  • 2020-09-16 redis

    redis 用户量增大,请求数量增大数据压力大。多台服务器锁,不互斥。数据不同步。 redis是基于内存存储和读取...

  • 致人类书:(7)人类天生就被赋予了觉知的力量

    鸢尾天空2020-09-16 22:00:30 致人类书:(7)人类天生就被赋予了觉知的力量 日安,我们是阿柯图-...

  • 2020-09-16

    2020-09-16 姓名 :曹静杰 企业名称 : 辽宁辽阳丛迪服装有限公司 组别 388期 反省1组 志工529...

  • 婚姻的50%的问题,都是没处理好........

    2020-09-16|第六篇 专注个人成长与法律新知 我见过许多婚姻当事人 有的来进行婚姻诉讼,有的来进行婚姻辅导...

  • 我又变回了欢快的小姑娘

    我怎么如此幸运-重生19-戴红霞(2020-09-16) 我怎么如此幸运-我又变回了欢快的小姑娘 1.我怎么如此幸...

  • 最近的三条评论

    西方怪人2:个人主义之种种 2020-09-16 09:49:07 通过万老师这讲,强化了我的认知。人是被生活环...

  • redis常用命令教程

    Redis 基础教程 Redis 教程、Redis 安装、Redis 配置、Redis 数据类型 Redis 命令...

  • redis 集群搭建

    redis 安装步骤 创建redis用户 useradd redis passwd redis 切换redis用户...

  • Redis cheatsheet 常用命令

    Run redis 运行redis server cd redis/; ./redis-server运行redis...

  • redis常用命令

    查看redis进程 连接redis redis启动 redis停止 redis查看配置文件 redis查看最大连接...

网友评论

      本文标题:2020-09-16 redis

      本文链接:https://www.haomeiwen.com/subject/tfbdektx.html