python操作redis

前言:

最近工作中需要用到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)