zoukankan      html  css  js  c++  java
  • redis数据结构与主要命令

    redis的数据类型有:string、hashes、lists、sets,sorted sets

    1、string类型:

                              set、get添加键值对获得键值对、如果多次赋值会覆盖掉原来的value

                              setnx会自动判断是否存在,如果存在返回0不存在返回1,并且不会覆盖原来的value

                              setex设置失效时间(毫秒)setex color 10 red

                              setrange设置第几个开始替换setrange email 6 163.com

                              mset 设置多个key-value mset k1 v1 k2 v2

                              msetnx具体情况和setnx类似,设置多个的时候返回成功的个数

                              getset设置一个key的value并且返回一个key的原来的值

                              getrange返回第几个到第几个getrange email 0 5

                              mget 获得多个key-value的值 mget k1 k2

                              incr自动步增incr key6

                              incrby自动规定步增incrby key6 5、incrby key6 -5

                              decr同上自减

                              decrby同上自减

                              append指定的key追加value,返回生成字符串长度

                              strlen查看字符串长度

    2、hashes类型:相对较节省空间(具体的意思同上)

                             hset user1 username admin 设置key 可以覆盖

                             hsetnx user2 username admin 设置不重复keys

                             hmset user3 username admin password admin age 2 state 2  多个设置

                             hmget user3 username password age state 多个获得

                             hincrby user3 age 19 自增

                             hexists user3 username 查看字段是佛存在

                             hlen user3 查看hash的长度

                             hdel user3 age 删除hash里面对应的名字的value

                             hkeys user3 返回所有的keys

                             hvals user3  返回所有的values

                             hgetall user3 同时返回keys的values

    3、lists类型(相对于队列和栈)

                             lpust mylistname1 2 3 放入 、先进后出

                             lrange mylistname 0 -1从0取到尾

                             rpust mylistname1 2 3 放入 、先进先出

                             lrange mylistname 0 -1从0取到尾

                             linsert mylistname before one two 从尾到顶元素的之前插入

                             lset mylistname 0 four 改变下标为0的元素、对于lpush内容是从上向下递增标注下标的

                             lrem mylistname 2 two 在mylistname这个list中删除value为two的两个数据

                             ltrim mylistname 1 -1 保留mylistname里面从第一个元素到第二个元素的内容、别的元素全部删除

                             lpop mylistname 从头部弹出元素

                             rpop mylistname 从尾部弹出一个元素    

                             rpoplpush mylistname1 mylistname2 从第一个尾部弹出一个元素放入第二个头部

                             lindex mylistname 1 取得索引value

                             llen mylistname 取得list的长度

     4、sets集合、很类似于数学上学习的集合

                             sadd mysetname values1 插上set里面的value

                             smembers mysetname 查看mysetname里面的value

                             srem mysetname values1 删除values1 的值

                             spop mysetname 随即弹出一个数

                             sdiff mysetname1 mysetname 2 返回两个set的差集谁在前面把谁作为参照物

                             sdiffstore mysetname3 mysetname2 mysetname1 把2 和1 的不同存入到3中

                             sinter mysetname1 mysetname2 返回两个set的交集

                             sinterstore mysetname3 mysetname2 mysetname1 返回两个set的交集放到3里面

                             sunion mysetname2 mysetname1 返回两个set的并集

                             sunionstore mysetname3 mysetname2 mysetname1 返回两个set的并集,存储到3中、关键在上面的这些操作都可以有≥两个参数

                             smove mysetname1 mysetname2 three 把1中的three元素剪切到2中

                             scard mysetname 返回set里面的元素个数

                             sismember mysetname one 判断one是不是集合的元素

                             srandmember mysetname 随即返回一个元素

    5、sorted sets 有序集合

                             zadd myzsetname 1 one插入有序集合,并且指定顺序

                             zrange myzsetname 0 -1 [withscores] 全部取出,并且显示顺序号

                             zrem myzsetname one 删除元素

                             zincrby  myzsetname 2 one 添加元素,自动增长

                             zrank myzsetname one 根据索引从小到大排序,然后显示索引值(这个可以做访问量什么的排名之类的)

                             zrevrank myzsetname one 和上面的意思一样,但是是scores从打到小排序

                             zrangebyscore myzsetname 0 -1 withscores 从一定区间里面按照scores返回

                             zcount myzsetname2 3 返回2 3中间的所有的数量

                             zremrangebyrank myzsetnage 2 3 删除2 和3 位置,按照索引来删除

    redis 常用命令

    redis的常用命令主要分为两个方面、一个是键值相关命令、一个是服务器相关命令

    1、键值相关命令

          keys * 取出当前所有的key

          exists name 查看n是否有name这个key

          del name 删除key name

          expire confirm 100 设置confirm这个key100秒过期

          ttl confirm 获取confirm 这个key的有效时长

          select 0 选择到0数据库 redis默认的数据库是0~15一共16个数据库

          move confirm 1 将当前数据库中的key移动到其他的数据库中,这里就是把confire这个key从当前数据库中移动到1中

          persist confirm 移除confirm这个key的过期时间

          randomkey 随机返回数据库里面的一个key

          rename key2 key3 重命名key2 为key3

          type key2 返回key的数据类型

    2、服务器相关命令

          ping PONG返回响应是否连接成功

          echo 在命令行打印一些内容

          select 0~15 编号的数据库

          quit  /exit 退出客户端

          dbsize 返回当前数据库中所有key的数量

          info 返回redis的相关信息

          config get dir/* 实时传储收到的请求

          flushdb 删除当前选择数据库中的所有key

          flushall 删除所有数据库中的数据库

  • 相关阅读:
    树形结构基础
    最长公共子序列
    四 过滤模式 map Only
    三 概要模式 2) MR倒排索引、性能分析、搜索干扰词。
    三 概要模式 1)数值概要 (单词计数记录计数最大值/最小值/计数平均值、中位数、标准差)
    一 梳理 从 HDFS 到 MR。
    个人学习源码的 HBase误区的总结 与 架构图
    15 hbase 学习(十五)缓存机制以及可以利用SSD作为存储的BucketCache
    13 hbase源码系列(十三)缓存机制MemStore与Block Cache
    HBase 系统架构
  • 原文地址:https://www.cnblogs.com/ysuzhaixuefei/p/4063524.html
Copyright © 2011-2022 走看看