ホームページ  >  記事  >  データベース  >  Redis ストアのリスト方法

Redis ストアのリスト方法

(*-*)浩
(*-*)浩オリジナル
2019-11-28 10:29:274696ブラウズ

Redis ストアのリスト方法

ビジネス要件で Redis アクセラレーションが必要なため、仕事中に問題が発生しました。では、Redis に保存されているリストを完全に保存し、完全に取り出すにはどうすればよいでしょうか? (推奨学習: Redis ビデオチュートリアル)

redis のリスト保存方式を使用する場合は、list = [1,2,3,4] リスト内の要素を 1 つずつたどって取り出し、続いて lpush メソッドを使って要素を 1 つずつ格納し、最後に完全な lrange('name',0,-1) で取り出すと、取り出したリストが str になることがわかります。 , たとえば (list = '[1,2,3,4]')、これは非常に扱いが面倒です。

何度も試みた結果、比較的使いやすいライブラリ pickle を見つけました。

pickle の利点は、シリアル化プロセスで変換されることです。テキスト情報をバイナリ データ ストリームに変換します。このように、情報はハードディスクに簡単に保存され、ファイルを読み取る必要がある場合は、データがハードディスクから読み取られ、デシリアライズされて元のデータが取得されます。

Python プログラムの実行中に文字列、リスト、辞書、その他のデータを取得しました。単にメモリに保存するのではなく、将来の使用に備えて長期保存したいと考えています。電源を切るとデータが失われます。

Python モジュール コレクションの Pickle モジュールは便利で、オブジェクトを送信または保存できる形式に変換できます。これにより、保存および取得されたデータの整合性が保証されます。

from redis import StrictRedis
# 选取一个默认的redis的db仓库
db = StrictRedis(host='localhost', port=6379, db=0,decode_responses=True)
#导入pickle包
import pickle
 
list = [1,2,3,4]
 
# pickle 封装list
new_list = pickle.dumps(list)
 
# redis中存储数据,设置过期时间
db.setx('list',3600,new_list)
 
result = db.get('list')
 
get_list = pickle.loads(result)
 
print(get_list)
# get_list = [1,2,3,4]

pickle で処理すると、抽出されたリストがはるかに使いやすくなることがわかります。データ変換を気にする必要がなくなり、json やその他のデータ型のデータも処理できます。

Redis 関連の技術記事の詳細については、Redis 入門チュートリアル 列にアクセスして学習してください。

以上がRedis ストアのリスト方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。