查看所有的数据
源文件: allkeys.py
import json
import redis
from _functools import partial
# 连接redis数据库: 无密码
r = redis.StrictRedis(host='192.168.1.110')
# 清空所有键
for number, key in enumerate(r.keys()):
r.delete(key)
# 准备数据
r.set('using_language', 'python')
r.set('favorite_framework', 'tornado')
r.set('personal_info', json.dumps({'name': 'zhengtong', 'sex': 'male', 'work': 'pythoner'}))
r.rpush('learning_language', 'javascript', 'reactjs', 'react-native')
# 查看当前数据库所有的键值
for number, key in enumerate(r.keys()):
if number == 0:
print('{!s:<20}{!s:<30}{}'.format('数据类型', '键名', '值'))
call = partial(lambda: '')
if r.type(key) == b'string': call = partial(r.get, key)
if r.type(key) == b'list': call = partial(r.lrange, *(key, 0, -1))
print('{!s:<20}{!s:<30}{}'.format(r.type(key), key, call()))
# 输出结果
数据类型 键名 值
b'string' b'favorite_framework' b'tornado'
b'string' b'using_language' b'python'
b'string' b'personal_info' b'{"work": "pythoner", "name": "zhengtong", "sex": "male"}'
b'list' b'learning_language' [b'javascript', b'reactjs', b'react-native']
MSET/MGET vs SET/GET
区别
SET/GET 是针对单个键值操作。
MSET/MGET 是针对一组键值进行操作。
相同
它们都是归属于字符串类型。
用set/get来操作键值
import redis
# 连接redis数据库: 无密码
r = redis.StrictRedis(host='192.168.1.110')
# 清空所有键
for number, key in enumerate(r.keys()):
r.delete(key)
# 设置键值
r.set('key_a', 'a')
r.set('key_b', 'b')
r.set('key_c', 'c')
r.set('key_d', 'd')
r.set('key_e', 'e')
# 读取键值
key_a = r.get('key_a')
key_b = r.get('key_b')
key_c = r.get('key_c')
key_d = r.get('key_d')
key_e = r.get('key_e')
# 打印键值
print(key_a, key_b, key_c, key_d, key_e, sep='\n')
# 显示结果
b'a'
b'b'
b'c'
b'd'
b'e'
用mset/mget来操作键值
import redis
# 连接redis数据库: 无密码
r = redis.StrictRedis(host='192.168.1.110')
# 清空所有键
for number, key in enumerate(r.keys()):
r.delete(key)
# 设置键值
r.mset(**{'key_a': 'a', 'key_b': 'b', 'key_c': 'c',
'key_d': 'd', 'key_e': 'e'})
# 读取键值
key_a, key_b, key_c, key_d, key_e = r.mget('key_a', 'key_b', 'key_c',
'key_d', 'key_e')
# 打印键值
print(key_a, key_b, key_c, key_d, key_e, sep='\n')
# 显示结果
b'a'
b'b'
b'c'
b'd'
b'e'
参考
- [x] 书籍: Redis 入门指南
- [x] 官网: Strings 命令集
网友评论