zoukankan      html  css  js  c++  java
  • redis使用

    终于有空可以整理一下最近学习的一些东西了。redis作为一个消息队列真的是好用。也试着去学习了一下kafka,结果第一步安装的时候就把我干趴了。kafka运行需要java8的环境,而配置java环境让我感觉好浪费时间和经历,本着我大python的信条“人生苦短,我用python”,怎么能去搞一个安装起来就那么复杂的东西呢?故果断舍弃,回到了我redis的怀抱。

      Mac安装redis,超级简单: brew install redis。

      配置文件路径为(/usr/local/etc/redis.conf)

      ps:关于配置文件遇到的一些问题和配置文件的配置,以后会在写一篇记录一下。

    redis一些常用的命令

      启动redis: redis-server     (如果不能启动,需要进入redis的安装目录。/usr/local/etc) 

      查看redis进程:     ps aux| grep reids

      结束redis进程:     kill -9 pid 

      客户端启用reids:    redis-cli  (开启一个新终端)

      切换数据库:       select 10

    redis使用

      str类型

        添加/修改:

          设置键值[O(1)]:set key value   set name pp

          设置键值及过期时间:  setex key seconds value  setex name 300 pp

          设置多个键值[O(1)]:    mset key1 value1 key2 value2  mset class1 python class2 java

          追加值:    append key value    append class1 pythonNB  (class1:pythonpythonNB)

        获取:

          获取单个值:  get key    get name

          获取多个值:  mget key1 key2    mget class1 class2

        删除:

          删除值:    del key1 key2    del class1 class2

      hash类型

        添加/修改:

          设置单个属性  hset key field value    hset info  name pp

          设置多个属性  hmset key field1 value1 field2 value2  hmset info name pp age 18

        获取:

          获取指定key对应的所有属性    hkeys key    hkeys info

          获取指定key对应的单一属性    hget key field1   hget info name

          获取指定key对应的多个属性    hmget key field1 field2  hmget info name age

          获取指定key对应的所有的value    hvals key     hvals info

        删除:

          删除整个key:  del key  del info

          删除key对应的某些属性:    hdel key field1 field2    del info name age

      list类型

        增加:

          从左侧插入value:  lpush key value1 value2  lpush name ming uzi mlxg    [mlxg,uzi,ming]

          从右侧插入value:  rpush key value1 value2  rpush name ming uzi mlxg   [ming,uzi,mlxg]  

          从指定元素的前/后插入value:  linsert key before/after 现有value 新value    linsert name before uzi xiaohu     [ming,xiaohu,uzi,mlxg] 

          指定位置value替换    lset key index value    lset name 2 kid  [ming,xiaohu,kid,mlxg]

        获取:

          获取范围内的value:  lrange key start stop   lrange name 0 -1

          获取指定位置的value   lindex key index    lindex name 1

        删除:

          将列表中前count次出现的value值删掉  lrem key count value    lerm name 1 uzi 

          (ps:count > 0,从头往尾删。 count< 0,从尾到头删。 count = 0,全部删除)

       set类型

        添加:

          添加元素:  sadd key member1 member2   sadd name uzi xiaohu

        获取:

          获取所有元素:  smembers key    smembers name

        删除:

          删除指定key    srem key    srem name

      zset类型

        添加:

          zadd key score1 member1 score2 member2  zadd name 9 uzi 4 xiaohu

          (ps:score为权重,zset通过权重从小到大排序。zset具就有唯一性,不重复。没有修改操作。)

        获取:

          通过索引获取:zrange key start stop    zrange name 0 -1

          通过权重获取:zrangebyscore key min max   zrangebyscore name 6 9

          通过member获取对应的score:zscore key member   zscore name uzi

        删除:

          删除指定元素:zrem key member1 member2   zrem name uzi xiaohu

          删除指定权重范围内的元素:zremrangebyscore key min max    zremrangebyscore name 6 9

      键命令

        获取所有键: keys *

        获取以a开头的所有key:keys "a*"   ( '   '里的可以使用正则规则 )

        判断key是否存在:exists key    exists name

        查看key对应的value的类型:type key    type name 

        删除key:del key    del name 

        设置key的过期时间:expire key seconds  expire name 200

        查看key的有效时间:ttl key  ttl name

        key重命名:rename/renamenx oldkey newkey  rename/renamenx name user  

        (rename:如果新的key存在则会覆盖掉。renamenx:如果新的key已经存在则不会进行操作。)

      

  • 相关阅读:
    JVM(随手笔记)
    linux常用操作(个人笔记)
    MySQL学习笔记(个人随手笔记)
    jquery对象和Dom对象的转化([0])
    函数防抖和函数节流
    数据持久化分析
    day.js处理相对时间
    外链资源403的处理
    前端实现图片预览的两种方式及使用
    监听器标准写法
  • 原文地址:https://www.cnblogs.com/ppzhang/p/10157338.html
Copyright © 2011-2022 走看看