美文网首页Python
python操作redis

python操作redis

作者: white_study | 来源:发表于2019-01-03 20:37 被阅读0次
    前言:

    最近工作中需要用到redis来缓存一些时效性较低的数据,来减少数据库的查询压力,如:缓存页面某趋势图最近30天的数据等,这里简要记录一下使用过程:
    1.使用原始命令操作redis数据库;
    2.使用python操作redis数据库;

    使用原始命令操作redis数据库
    1.操作数据库
     1.连接redis客户端:
          redis-cli
          auth 密码
     2.确认数据库使用连通:
          ping  --> 返回pong则连接成功
     3.切换数据库:
         select 数据库编号(0-15)
    
    2.key(键)的使用:
      1.查询所有存在的键:
          keys * 
      2.查询键的类型:
           type  键名称 (如:type mylist  --> 返回:hash,表示键的类型是hash类型)
      3.删除键:
           del 键名称1 键名称2 键名称3 (如:del mylist)
    
    3.数据结构之hash的使用(哈希表):
      1.说明:
           hash类似python的字典,由一系列键值对(key-value)组成
      2.添加数据:
           hset 键名 hash数据的键名 hash值(如:hset cache_data  data "{'name':'jack', 'age':25}" )  
      3.获取所有键:
           hkeys hash数据的键(如:hkeys cache_data  --> 返回: data)
      4.获取键对应的值:
           hget 键名  hash数据的键名(如:hget cache_data data)
               --  返回对应的值:"{'name':'jack', 'age':25}" 
      5.删除数据:
           hdel 键名 hash数据的键名 (如:hdel cache_data data)
    
    4.数据结构之list的使用(列表):
      1.添加元素:
           rpush  键名 值1 值2 值3...(如:rpush mylist a b c)
      2.查询所有元素:
           lrange 键名 0 -1(如:lrange mylist 0 -1 --> 返回:a b c)
      3.修改指定位置的元素:
           lset 键名 索引号  值(如:lset mylist 0 d--> 将mylist索引号为0的元素值修改为:d)
      4.末尾弹出元素:
           rpop 键名 (如:rpop mylist --> 返回:c)
    
    5.数据结构之set的使用(集合):
      1.添加元素:
          sadd  键名  值1  值2  值3 (如:sadd myset a b c --> 等同于python的:myset = set(['a', 'b', 'c']))
      2.查询所有元素:
          smembers 键名(如:smembers myset --> 返回:c  a  b)
    
    使用python操作redis数据库
    # coding:utf-8
    import json
    
    import redis
    
    host = "localhost"
    password = "123456"
    port = 6379
    db = 2
    
    # 创建redis连接池
    pool = redis.ConnectionPool(host=host, password=password, port=port, db=db)
    # 创建连接对象
    conn = redis.Redis(connection_pool=pool)
    # 添加hash数据
    # hset(name, key, value):没有就新增,有就修改
    conn.hset("cache_data", "data", json.dumps({"name": "Jack", "age": 23}))
    # 获取hash数据
    # hget(name,key):在name对应的hash中根据key获取value
    conn.hget("cache_data", "data")
    
    if __name__ == "__main__":
        pass
    

    相关文章

      网友评论

        本文标题:python操作redis

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