zoukankan      html  css  js  c++  java
  • python 对redis 键值对的操作

    我们可以将Redis中的Hashes类型看成具有String Key和String Value的键值对容器。类似python中的dict,javascript的jaon,java 的map,每一个Hash可以存储4294967295个键值对。

     1 # encoding:utf-8
     2 import redis
     3 import time
     4 
     5 
     6 def main():
     7     """
     8     redis-cli -h 127.0.0.1 -a test321
     9     """
    10     redis_host = "127.0.0.1"
    11     redis_password = "test321"
    12     redis_cli = redis.StrictRedis(host=redis_host, password=redis_password)
    13     try:
    14         key = "TEST_KEY_1484"
    15         # string
    16         print redis_cli.delete(key)
    17         print redis_cli.hset(key, "test1", 1)  # 设置 key={test1:1}
    18         print redis_cli.hget(key, "test1")  # 获取key[test1]
    19         print redis_cli.hexists(key, "test1")  # 是否存在key[test1]
    20         print redis_cli.hset(key, "test2", 2)  # 设置 key={test2:2}
    21         print redis_cli.hlen(key)  # 查看key下的键值对数量
    22         print redis_cli.hdel(key, "test1", "test2")  # 批量删除key下的键,返回实际删除的键数量
    23         print redis_cli.hlen(key)  # 查看key下的键值对数量
    24         print redis_cli.hexists(key, "test1")  # 是否存在key[test1]
    25         print redis_cli.hsetnx(key, "test1", 1)   # 设置 key={test1:1}
    26         print redis_cli.hsetnx(key, "test1", 1.11)   # 如果key[test1]已存在设置失败
    27         print redis_cli.hget(key, "test1")  # 获取key[test1]
    28         print redis_cli.hincrby(key, "test1", 2)   # 设置 key[test1] 累加2
    29         print redis_cli.hget(key, "test1")  # 获取key[test1]
    30         print redis_cli.hset(key, "test2", 2)  # 设置 key={test2:2}
    31         print redis_cli.hgetall(key)  # 获取key,得到dict对象
    32         print redis_cli.hkeys(key)  # 获取key下的所有键,得到list对象
    33         print redis_cli.hvals(key)  # 获取key下的所有值,得到list对象
    34         print redis_cli.hmget(key, "test1", "test2")  # 批量获取key下的指定键,得到list对象
    35         print redis_cli.hmset(key, {"test3": 3, "test4": 4})  # 批量设置键值,无则添加,有则覆盖,
    36         print redis_cli.hgetall(key)
    37     except Exception as e:
    38         print e.message
    39     finally:
    40         print redis_cli.delete(key)
    41     return None
    42 
    43 
    44 if __name__ == "__main__":
    45     main()

     github:https://github.com/luohuaizhi/test/blob/master/testRedisDict.py

  • 相关阅读:
    javaweb 安全传输签名机制
    GC详解及Minor GC和Full GC触发条件总结
    程序员的人性思考(上)
    LeetCode 845——数组中的最长山脉
    LeetCode 386——字典序的第 K 小数字
    LeetCode 386——字典序排数
    LeetCode 135——分发糖果
    Ubuntu 16.04 安装显卡驱动后循环登录和无法设置分辨率的一种解决方案
    在 Ubuntu 下安装 Deepin 的 QQ、微信、百度云和迅雷等软件
    腾讯 2019 春季暑期实习生提前批笔试——技术研究与数据分析
  • 原文地址:https://www.cnblogs.com/huaizhi/p/8422721.html
Copyright © 2011-2022 走看看