ビジネス要件で 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 サイトの他の関連記事を参照してください。