Redisのストレージシステム
Redisのは何1
リモート辞書サーバ(Redisの)は、キーと値のストレージシステムです。(...のpython、PHP、Java)のANSI Cで書かれて使用し、BSDタイプ、キーと値のデータベースをログに記録することができ、メモリの持続性に基づいて、契約やサポートネットワークを遵守し、多言語のAPIを提供します。
値(値)は、文字列(String)を、ハッシュ(地図)、リスト(一覧)、セット(セット)、および順序付きコレクション(ソートセット)や他のタイプのものであってよいので、それは多くの場合、サーバーのデータ構造と呼ばれています。
Redisの利点
- 高性能 - Redisのは早く11万倍/秒、書き込み速度である81000回/秒を読むことができます
- 豊富なデータタイプ - Redisのは、バイナリの場合文字列、リスト、ハッシュ、セットと順序セット操作のデータ型をサポートしています
- アトミック - Redisのすべての操作が完全に実行され、実行に成功するか失敗のどちらかということを意味し、アトミックです。これは、単一の原子操作です。動作の複数はまた、ラップMULTIによってトランザクション、すなわち原子性、およびEXEC命令をサポート
- Redisのデータバックアップデータバックアップサポート、すなわち、マスタ・スレーブモード、
- 永続Redisのサポートデータは、メモリ内のデータがディスクに保存することができた場合、再起動が使用して再ロードすることができます
2.redisインストール
- Pythonパッケージをインストールします。
方法1:PIP設定でpycharmは直接ダウンロードする
方法2:ダウンロードコマンド(シェルのLinuxの)
Su #切换到超级用户
Cd /usr/local/python3/bin
./pip install redis
./pip3 install -U pip #升级pip
- インストールサービスのRedis
ダウンロードします。http://redis.io/downloadは、最新の安定版をダウンロード
tar zxf redis-5.0.3.tar.gz
cd redis-5.0.3/
yum install gcc -y
make
make install
cd utils/
./install_server.sh
netstat -antlp|grep 6379
redis-cli
/etc/init.d/redis_6379 restart
3.redis接続
方法1:このメソッドは、自動的に接続を切断します
import redis
import time
redis.Redis(host='localhost',port=6379)
conn = redis.Redis()
conn.set('name','westos',3)
print(conn.get('name'))
print('等待3秒...')
time.sleep(3)
print(conn.get('name'))
方法2:最初のメソッドに対して自動的に切断されていないが、より安定しています
pool = redis.ConnectionPool(host='localhost',port=6379)
conn = redis.Redis(connection_pool=pool)
# 默认返回bytes类型 如果需要转换 要解码为utf=8编码格式
conn.set('name','粉条',4)
print(conn.get('name').decode('utf-8'))
print('等待3s....')
time.sleep(3)
print(conn.get('name'))
具体的な使用を4.redis
アップロード/取得/クリア
import redis
import time
pool = redis.ConnectionPool(host='localhost',port=6379)
conn = redis.Redis(connection_pool=pool)
conn.set('name','fentiao')
conn.set('age',10)
conn.set('score',100)
# 获取所有的key值
print(conn.keys())
print(len(conn.keys()))
# 当前redis数据库中的数据条数
print(conn.dbsize())
# 删除指定的key-value值
conn.delete('score')
print('正在删除key....')
print(conn.get('score'))
print('清除前:',conn.keys())
# 清除redis里面的所有k-v
conn.flushall()
print('清除后:',conn.keys())