前言:
最近工作中需要用到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
网友评论