redis02字符串
redis02字符串
AllenOR灵感 发表于5个月前
redis02字符串
  • 发表于 5个月前
  • 阅读 1
  • 收藏 0
  • 点赞 0
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

查看所有的数据

源文件: 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'

参考

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 6
博文 2139
码字总数 82983
×
AllenOR灵感
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: