zoukankan      html  css  js  c++  java
  • redis 常用操作

    redis 取值decode
    version = rds_extra.get("ddz_42112048_version").decode()

    模糊删除
    >>> import redis
    >>> r = redis.StrictRedis(host='localhost', port=6379, db=0)
    >>> r.delete(*r.keys('*test*'))
    rds_mongo.delete(*rds_mongo.keys('*UserDayStat{}*'.format(device_id)))


    1.链接redis

    2.keys * 获取所有key

    127.0.0.1:6379[5]> keys *
      1) "UserDayStat|4793799761@2019-07-08"
      2) "UserWeekStat|4865137051@2019-07-07"
      3) "UserGameStat|4795903911@173991"

    3.keys *进行模糊匹配*

    127.0.0.1:6379[5]> keys *2019-07-07*
    1) "UserWeekStat|4865137051@2019-07-07"
    2) "UserWeekStat|4793799761@2019-07-07"
    3) "UserWeekStat|4795903911@2019-07-07"

    4. incr "a_test"  rds_extra.incr(key)  redis计数器 如果不存在key为1 存在+1  计数器

    127.0.0.1:6379[5]> INCR "a_test"
    (integer) 5
    127.0.0.1:6379[5]> get  "a_test"
    "5"
    127.0.0.1:6379[5]> INCR "a_test"
    (integer) 6
    127.0.0.1:6379[5]> get  "a_test"
    "6"

    5.expire 设置过期时间 设置过期时间为10秒

    127.0.0.1:6379[5]> EXPIRE a_test 10
    (integer) 1
    127.0.0.1:6379[5]> get a_test

    6.hmset 设置key对应的dict 

    127.0.0.1:6379[5]> HMSET test_dict t1 "h1" t2 "h3"
    OK
    127.0.0.1:6379[5]> hget test_dict t1
    "h1"
    127.0.0.1:6379[5]> hget test_dict t2
    "h3"

    7.hgetall 获取key对应的所有值为dict 遍历

    127.0.0.1:6379[5]> HMSET test_dict t1 "h1" t2 "h3" t3 "h4"
    OK
    127.0.0.1:6379[5]> HGETALL test_dict
    1) "t1"
    2) "h1"
    3) "t2"
    4) "h3"
    5) "t3"
    6) "h4"

    8 setex 命令为指定的 key 设置值及其过期时间。如果 key 已经存在,setex 命令将会替换旧的值。

     加锁 

    setnx 设置锁 命令在设置成功时返回 1 , 设置失败时返回 0

    127.0.0.1:6379[5]> SETEX test_dict 10 t1
    OK
    127.0.0.1:6379[5]> HGET test_dict t1
    (nil)

    redis> EXISTS job                # job 不存在
    (integer) 0
    redis> SETNX job "programmer" # job 设置成功 (integer) 1 redis> SETNX job "code-farmer" # 尝试覆盖 job ,失败 (integer) 0 redis> GET job # 没有被覆盖 "programmer"




    9 del删除key

    127.0.0.1:6379[5]> set cccc 10
    OK
    127.0.0.1:6379[5]> get cccc
    "10"
    127.0.0.1:6379[5]> del cccc
    (integer) 1
    127.0.0.1:6379[5]> get cccc
    (nil)

    10 lpush 命令将一个或多个值插入到列表头部 列表插入值 从左插入

    127.0.0.1:6379[3]> LPUSH test_1_list [1,2,3,4,4,5,6,76,7]
    (integer) 14
    127.0.0.1:6379[3]> LTRIM test_1_list 0 9
    OK
    127.0.0.1:6379[3]> LRANGE test_1_list 0 9
     1) "[1,2,3,4,4,5,6,76,7]"
     2) "[1,2,3,4,4,5,6,76,7]"
     3) "[1,2,3,4,4,5,6,76,7]"
     4) "[1,2,3,4,4,5,6,76,7]"
     5) "[1,2,3,4,4,5,6,76,7]"
     6) "[1,2,3,4,4,5,6,76,7]"
     7) "[1,2,3,4,4,5,6,76,7]"
     8) "[1,2,3,4,4,5,6,76,7]"
     9) "[1,2,3,4,4,5,6,76,7]"
    10) "[1,2,3,4,4,5,6,76,7]"

    11 zadd 添加一个有序集合 key唯一不重复  zscore 返回 对应key 的成员,或 key 不存在,返回 nil

        zrevrangebyscore 有序集合递减排序    zrevrange 根据 value的值进行排名     zrevrank  返回对应key的排名

      zincrby 命令对有序集合中指定成员的分数加上增量 increment 负数为减

     

      

    127.0.0.1:6379[5]> zadd test 2 apple2 3 apple3 4 apple4 
    (integer) 1
    127.0.0.1:6379[5]> ZRANGE test 0 10 WITHSCORES
    1) "apple1"
    2) "1"
    3) "apple2"
    4) "2"
    5) "apple3"
    6) "3"
    7) "apple4"
    8) "4"
    
    # 获取值 zscore
    127.0.0.1:6379[5]> ZSCORE test apple1
    "3"
    
    # 有序集合递减排序 ZREVRANGEBYSCORE
    127.0.0.1:6379[5]> ZADD salary 5000 tom
    (integer) 0
    127.0.0.1:6379[5]> ZADD salary 7500 peter
    (integer) 0
    127.0.0.1:6379[5]> zadd salary 3500 joe
    (integer) 0
    127.0.0.1:6379[5]>  ZREVRANGEBYSCORE salary 10000 2000
    1) "peter"
    2) "tom"
    3) "joe"
    
    # zrevrange 根据value的值排名 0-5 前5名
    127.0.0.1:6379[5]> zrevrange salary 0 5
    1) "jie"
    2) "jack"
    3) "peter"
    4) "tom"
    5) "joe"
    6) "yingjie"
    
    
    # zrevrank 返回对应key排名
    127.0.0.1:6379[5]> zrevrank salary tom
    (integer) 3
    
    
    # zincrby 对指定的key 相加 负数为相减
    
    127.0.0.1:6379[5]> zincrby salary 20000 yingjie
    "21200"
    127.0.0.1:6379[5]> zrevrange salary 0 5
    1) "yingjie"
    2) "jie"
    3) "jack"
    4) "peter"
    5) "tom"
    6) "joe"

    redis 设置字符串

    rds_con_game.set(name=rds_key, value=1) # 设置值
    rds_con_game.expire(name=rds_key, time=86400 - seconds) #设置过期时间
    rds_con_game.get(name=rds_key) # 获取值
  • 相关阅读:
    Redis 客户端连接
    Redis 性能测试
    Redis 安全
    Redis 数据备份与恢复
    Redis 数据类型
    Redis 配置
    Redis 安装
    Redis 简介
    Redis教程
    如何修改Oracle Enterprise Linux时区?
  • 原文地址:https://www.cnblogs.com/zhaoyingjie/p/11152150.html
Copyright © 2011-2022 走看看