似乎有两种不同的方法将字符串转换为字节,如TypeError的答案所示:'str'不支持缓冲区接口
哪种方法更好或更好Pythonic?或者只是个人喜好?
b = bytes(mystring, 'utf-8')
b = mystring.encode('utf-8')
Run Code Online (Sandbox Code Playgroud) 我想使用Redis的-PY缓存一些数据,但我无法找到之间的差异的一个合适的解释redis.StrictRedis()和redis.Redis().它们是等价的吗?
另外,我redis.StrictRedis()在Redis Python Docs中找不到关于参数的任何明确文档.任何的想法?
我遇到了麻烦.我的代码如下.但我不知道为什么在输出字符串"Hello Python"之前有一个char'b'.
>>> import redis
>>> redisClient = redis.StrictRedis(host='192.168.3.88',port=6379)
>>> redisClient.set('test_redis', 'Hello Python')
True
>>> value = redisClient.get('test_redis')
>>> print(value)
b'Hello Python' //why char 'b' output?
Run Code Online (Sandbox Code Playgroud) 我们使用Redis在DB 0中存储各种应用程序配置.
是否可以在数据库中查询Redis以获取每个键/值对,而无需执行两个单独的查询并自行加入键/值对?
我希望功能类似于以下内容:
kv = redis_conn.getall()
# --OR-- #
kv = redis_conn.mget('*')
Run Code Online (Sandbox Code Playgroud)
...哪里kv会返回元组元组,列表列表或字典:
但是在搜索StackOverflow,Google和Redis文档之后,我可以推导出的唯一解决方案(我还没有找到其他人问这个问题......)类似于以下内容:
import redis
red = redis.Redis(host='localhost', db=0)
keys = red.keys()
vals = red.mget(keys)
kv = zip(keys, vals)
Run Code Online (Sandbox Code Playgroud)
我在这里疯狂,假设有一个更优雅的方法解决这个问题?
此数据库中的每个值都是一个String.
我的问题不是如何检索每个唯一数据类型或相关数据类型的值.
相反,我的问题是:有没有办法说"hey Redis, return to me every string value in the database"不必要求密钥,然后根据返回的密钥查询值?