{"id":1057,"date":"2023-03-24T09:47:07","date_gmt":"2023-03-24T01:47:07","guid":{"rendered":""},"modified":"2023-03-24T09:47:07","modified_gmt":"2023-03-24T01:47:07","slug":"Python redis","status":"publish","type":"post","link":"https:\/\/bianchenghao6.com\/1057.html","title":{"rendered":"Python redis"},"content":{"rendered":"
\n
\u641e\u61c2Python redis\u7684\u57fa\u672c\u64cd\u4f5c<\/span>\n <\/div>\n ex - \u8fc7\u671f\u65f6\u95f4\uff08\u79d2\uff09<\/span> name - Redis \u7684 name<\/span> offset - \u5b57\u7b26\u4e32\u7684\u7d22\u5f15\uff0c\u5b57\u8282\uff08\u4e00\u4e2a\u6c49\u5b57\u4e09\u4e2a\u5b57\u8282\uff09<\/span> name - redis\u7684name<\/span> key - Redis\u7684name<\/span>Redis\u8fde\u63a5<\/h2>\n
\u8fde\u63a5\u6c60<\/h2>\n
\n
\u9ed8\u8ba4\uff0c\u6bcf\u4e2aRedis\u5b9e\u4f8b\u90fd\u4f1a\u7ef4\u62a4\u4e00\u4e2a\u81ea\u5df1\u7684\u8fde\u63a5\u6c60\u3002\u53ef\u4ee5\u76f4\u63a5\u5efa\u7acb\u4e00\u4e2a\u8fde\u63a5\u6c60\uff0c\u7136\u540e\u4f5c\u4e3a\u53c2\u6570 Redis\uff0c\u8fd9\u6837\u5c31\u53ef\u4ee5\u5b9e\u73b0\u591a\u4e2a Redis \u5b9e\u4f8b\u5171\u4eab\u4e00\u4e2a\u8fde\u63a5\u6c60\u3002\n <\/div>\n # \u5bfc\u5165redis <\/span>\u6a21\u5757
<\/span> import <\/span>redis <\/span>
pool = redis.ConnectionPool<\/span>(host='localhost'<\/span><\/span>, port=6379, decode_responses=True)
r = redis.Redis<\/span>(host='localhost', port=6379, decode_responses=True)
# \u8bbe\u7f6e name \u5bf9\u5e94\u7684\u503c
<\/span> r.set<\/span>('name'<\/span><\/span>, 'lidihuo'<\/span>)
# \u53d6\u51fa\u952e name \u5bf9\u5e94\u7684\u503c
<\/span> print(r.get<\/span>('name'))
<\/span><\/code><\/pre>\n<\/p><\/div>\nredis \u57fa\u672c\u547d\u4ee4 String<\/h2>\n
\n
\u5728 Redis \u4e2d\u8bbe\u7f6e\u503c\uff0c\u9ed8\u8ba4\uff0c\u4e0d\u5b58\u5728\u5219\u521b\u5efa\uff0c\u5b58\u5728\u5219\u4fee\u6539\u3002\u53c2\u6570\u5982\u4e0b\uff1a\n <\/div>\n
\n px - \u8fc7\u671f\u65f6\u95f4\uff08\u6beb\u79d2\uff09<\/span>
\n nx - \u5982\u679c\u8bbe\u7f6e\u4e3aTrue\uff0c\u5219\u53ea\u6709name\u4e0d\u5b58\u5728\u65f6\uff0c\u5f53\u524dset\u64cd\u4f5c\u624d\u6267\u884c<\/span>
\n xx - \u5982\u679c\u8bbe\u7f6e\u4e3aTrue\uff0c\u5219\u53ea\u6709name\u5b58\u5728\u65f6\uff0c\u5f53\u524dset\u64cd\u4f5c\u624d\u6267\u884c<\/span> <\/p>\n import <\/span>redis
pool = redis.ConnectionPool<\/span>(host='localhost'<\/span>, port=6379, decode_responses=True)
r = redis.Redis<\/span>(connection_pool=pool)
# key=\"food\",value=\"mutton\"\u5c06\u952e\u503c\u5bf9\u5b58\u5165redis\u7f13\u5b58
<\/span> r.set<\/span>('food'<\/span><\/span>, 'mutton'<\/span>, ex=3)
# mutton \u53d6\u51fa\u952efood\u5bf9\u5e94\u7684\u503c
<\/span> print(r.get<\/span>('food'))
<\/span><\/code><\/pre>\n<\/p><\/div>\n import <\/span>redis
pool = redis.ConnectionPool<\/span>(host='localhost'<\/span>, port=6379, decode_responses=True)
r = redis.Redis<\/span>(connection_pool=pool)
r.set<\/span>('food'<\/span><\/span>, 'beef'<\/span>, px=3)
print(r.get<\/span>('food'))
<\/span><\/code><\/pre>\n<\/p><\/div>\n import <\/span>redis
pool = redis.ConnectionPool<\/span>(host='localhost'<\/span>, port=6379, decode_responses=True)
r = redis.Redis<\/span>(connection_pool=pool)
# True<\/span>--\u4e0d\u5b58\u5728
<\/span> print(r.set<\/span>('fruit'<\/span>, 'watermelon'<\/span>, nx=True))
# \u5982\u679c\u952efruit\u4e0d\u5b58\u5728\uff0c\u90a3\u4e48\u8f93\u51fa\u662fTrue\uff1b\u5982\u679c\u952efruit\u5df2\u7ecf\u5b58\u5728\uff0c\u8f93\u51fa\u662fNone
<\/span> <\/span><\/code><\/pre>\n<\/p><\/div>\n # True<\/span>--\u5df2\u7ecf\u5b58\u5728
<\/span> print((r.set<\/span>('fruit'<\/span>, 'watermelon'<\/span>, xx=True)))
# \u5982\u679c\u952efruit\u5df2\u7ecf\u5b58\u5728\uff0c\u90a3\u4e48\u8f93\u51fa\u662fTrue\uff1b\u5982\u679c\u952efruit\u4e0d\u5b58\u5728\uff0c\u8f93\u51fa\u662fNone
<\/span> <\/span><\/code><\/pre>\n<\/p><\/div>\n print(r.setnx<\/span>('fruit1'<\/span>, 'banana'<\/span>)) # fruit1\u4e0d\u5b58\u5728\uff0c\u8f93\u51fa\u4e3aTrue
<\/span> <\/span><\/code><\/pre>\n<\/p><\/div>\n import <\/span>redis
import <\/span>time
pool = redis.ConnectionPool<\/span>(host='localhost'<\/span>, port=6379, decode_responses=True)
r = redis.Redis<\/span>(connection_pool=pool)
r.setex<\/span>(\"fruit2\"<\/span>, 5, \"orange\"<\/span>)
time.sleep<\/span>(5)
# 5\u79d2\u540e\uff0c\u53d6\u503c\u5c31\u4eceorange\u53d8\u6210None
<\/span> print(r.get<\/span>('fruit2'<\/span>))
<\/span><\/code><\/pre>\n<\/p><\/div>\n r.psetex<\/span>(\"fruit3\"<\/span>, 5000, \"apple\"<\/span>)
time.sleep<\/span>(5)
print(r.get<\/span>('fruit3'<\/span>)) # 5000\u6beb\u79d2\u540e\uff0c\u53d6\u503c\u5c31\u4eceapple\u53d8\u6210None
<\/span> <\/span><\/code><\/pre>\n<\/p><\/div>\n r.mget<\/span>({'k1'<\/span>: 'v1'<\/span>, 'k2'<\/span>: 'v2'<\/span>})
r.mset<\/span>(k1=\"v1\"<\/span>, k2=\"v2\"<\/span>) # \u8fd9\u91cck1 \u548ck2 \u4e0d\u80fd\u5e26\u5f15\u53f7 \u4e00\u6b21\u8bbe\u7f6e\u5bf9\u4e2a\u952e\u503c\u5bf9
<\/span> print(r.mget<\/span>(\"k1\"<\/span><\/span>, \"k2\"<\/span>)) # \u4e00\u6b21\u53d6\u51fa\u591a\u4e2a\u952e\u5bf9\u5e94\u7684\u503c
<\/span> print(r.mget<\/span>(\"k1\"))
<\/span><\/code><\/pre>\n<\/p><\/div>\n print(r.mget<\/span>('k1'<\/span><\/span>, 'k2'<\/span><\/span>))
print(r.mget<\/span>(['k1', 'k2']))
print(r.mget<\/span>(\"fruit\"<\/span>, \"fruit1\"<\/span>, \"fruit2\"<\/span>, \"k1\"<\/span>, \"k2\"<\/span>)) # \u5c06\u76ee\u524dredis\u7f13\u5b58\u4e2d\u7684\u952e\u5bf9\u5e94\u7684\u503c\u6279\u91cf\u53d6\u51fa\u6765
<\/span> <\/span><\/code><\/pre>\n<\/p><\/div>\n # \u8bbe\u7f6e\u7684\u65b0\u503c\u662fbarbecue \u8bbe\u7f6e\u524d\u7684\u503c\u662fbeef
<\/span> print(r.getset<\/span>(\"food\"<\/span>, \"barbecue\"<\/span>))
<\/span><\/code><\/pre>\n<\/p><\/div>\n
\n start - \u8d77\u59cb\u4f4d\u7f6e\uff08\u5b57\u8282\uff09<\/span>
\n end - \u7ed3\u675f\u4f4d\u7f6e\uff08\u5b57\u8282\uff09<\/span> <\/p>\n # \u6c49\u5b57
<\/span> r.set<\/span>(\"cn_name\"<\/span><\/span><\/span>, \"\u7acb\u5730\u8d27\"<\/span>)
# \u53d6\u7d22\u5f15\u53f7\u662f0-2 \u524d3\u4f4d\u7684\u5b57\u8282 \u7acb \u5207\u7247\u64cd\u4f5c \uff08\u4e00\u4e2a\u6c49\u5b573\u4e2a\u5b57\u8282 1\u4e2a\u5b57\u6bcd\u4e00\u4e2a\u5b57\u8282 \u6bcf\u4e2a\u5b57\u82828bit\uff09
<\/span> print(r.getrange<\/span>(\"cn_name\", 0, 2))
# \u53d6\u6240\u6709\u7684\u5b57\u8282 \u7acb\u5730\u8d27 \u5207\u7247\u64cd\u4f5c
<\/span> print(r.getrange<\/span>(\"cn_name\", 0, -1))
# \u5b57\u6bcd
<\/span> r.set<\/span>(\"en_name\"<\/span><\/span><\/span>,\"junxi\"<\/span>)
# \u53d6\u7d22\u5f15\u53f7\u662f0-2 \u524d3\u4f4d\u7684\u5b57\u8282 jun \u5207\u7247\u64cd\u4f5c \uff08\u4e00\u4e2a\u6c49\u5b573\u4e2a\u5b57\u8282 1\u4e2a\u5b57\u6bcd\u4e00\u4e2a\u5b57\u8282 \u6bcf\u4e2a\u5b57\u82828bit\uff09
<\/span> print(r.getrange<\/span>(\"en_name\", 0, 2))
# \u53d6\u6240\u6709\u7684\u5b57\u8282 junxi \u5207\u7247\u64cd\u4f5c
<\/span> print(r.getrange<\/span>(\"en_name\", 0, -1))
<\/span><\/code><\/pre>\n<\/p><\/div>\n
\n value - \u8981\u8bbe\u7f6e\u7684\u503c<\/span> <\/p>\n r.setrange<\/span>(\"en_name\"<\/span><\/span>, 1, \"ccc\"<\/span>)
# jccci \u539f\u59cb\u503c\u662fjunxi \u4ece\u7d22\u5f15\u53f7\u662f1\u5f00\u59cb\u66ff\u6362\u6210ccc \u53d8\u6210 jccci
<\/span> print(r.get<\/span>(\"en_name\"))
<\/span><\/code><\/pre>\n<\/p><\/div>\n
\n offset - \u4f4d\u7684\u7d22\u5f15\uff08\u5c06\u503c\u53d8\u6362\u6210\u4e8c\u8fdb\u5236\u540e\u518d\u8fdb\u884c\u7d22\u5f15\uff09<\/span>
\n value - \u503c\u53ea\u80fd\u662f 1 \u6216 0<\/span> <\/p>\n
\n
\u90a3\u4e48\u5b57\u7b26\u4e32foo\u7684\u4e8c\u8fdb\u5236\u8868\u793a\u4e3a\uff1a01100110 01101111 01101111
\n
\u6240\u4ee5\uff0c\u5982\u679c\u6267\u884c setbit('n1', 7, 1)\uff0c\u5219\u5c31\u4f1a\u5c06\u7b2c7\u4f4d\u8bbe\u7f6e\u4e3a1\uff0c
\n
\u90a3\u4e48\u6700\u7ec8\u4e8c\u8fdb\u5236\u5219\u53d8\u6210 01100111 01101111 01101111\uff0c\u5373\uff1a\"goo\"\u6269\u5c55\uff0c\u8f6c\u6362\u4e8c\u8fdb\u5236\u8868\u793a\uff1a\n <\/div>\n source = \"\u7acb\u5730\u8d27\"<\/span>
source = \"foo\"<\/span>
for <\/span><\/span>i in <\/span>source:
num = ord(i)
print <\/span>bin(num).replace<\/span>('b'<\/span>,''<\/span>) <\/span><\/code><\/pre>\n<\/p><\/div>\n # 0 foo1 \u5bf9\u5e94\u7684\u4e8c\u8fdb\u5236 4\u4e2a\u5b57\u8282 32\u4f4d \u7b2c0\u4f4d\u662f0\u8fd8\u662f1
<\/span> print(r.getbit<\/span>(\"foo1\"<\/span>, 0))
<\/span><\/code><\/pre>\n<\/p><\/div>\n
\n start - \u5b57\u8282\u8d77\u59cb\u4f4d\u7f6e<\/span>
\n end - \u5b57\u8282\u7ed3\u675f\u4f4d\u7f6e<\/span> <\/p>\n print(r.