キーバリューデータベースシステム Redis 7.0.4 のインストールと基本操作,Python からの使用(ソースコードを使用)(Ubuntu 上)
Redis は,インメモリ・データストアである.文字列,リスト,集合,ハッシュなどを扱う機能を持つ.
【サイト内の関連ページ】
前準備
Ubuntu のシステム更新
Ubuntu で OS のシステム更新を行うときは, 端末で,次のコマンドを実行する.
sudo apt -y update
sudo apt -yV upgrade
sudo /sbin/shutdown -r now
C/C++ コンパイラー,make,パッケージツールのインストール(Ubuntu 上)
インストールするには,端末で,次のコマンドを実行する.
sudo apt -y install build-essential gcc g++ make libtool texinfo dpkg-dev pkg-config
Git のインストール
端末で,次のコマンドを実行する.
sudo apt -y update
sudo apt -y install git
インストール
- ソースコードの入手
cd /usr/local sudo rm -rf redis sudo git clone --recursive https://github.com/redis/redis sudo chown -R $USER redis
- ビルド
cd /usr/local/redis make
- 結果の確認
エラーメッセージが出ていないこと
- テスト
make test
- 結果の確認
エラーメッセージが出ていないこと
- インストール
sudo make install
- 結果の確認
エラーメッセージが出ていないこと
- スワップ領域の調整
sudo dd if=/dev/zero of=/var/swap count=524288 bs=1048576 sudo chmod 700 /var/swap sudo mkswap /var/swap sudo swapon /var/swap echo "/var/swap swap swap defaults 0 0" | sudo tee -a /etc/fstab
Redis を使ってみる
- 試しに,サーバを起動してみる
サーバの起動は /usr/local/bin/redis-server コマンドで行う.
/usr/local/bin/redis-server
- 試しに,Redis コマンドラインクライアントを起動してみる
redis-cli
- key-value ストアの例
set x 100 get x set "p1" "\"#<struct Struct::Product name=\\\"kaneko\\\", price=120, qty=20>\"" get p1
- リスト操作の例
lpush mylist apple lpush mylist orange lpush mylist car lrange mylist 0 -1
- 集合操作の例
sadd myset a1 sadd myset b2 sadd myset c3 smembers myset scard myset
Python で Redis を使ってみる
- 前準備として python3-redis をインストール
端末で,次のコマンドを実行する.
sudo apt -y install python3-redis
- key-value ストアの例
import redis r = redis.StrictRedis(host='localhost', port=6379, db=0) r.set("x", 100) print( r.get("x") ) r.set("p1", "\"#<struct Struct::Product name=\\\"kaneko\\\", price=120, qty=20>\"") print( r.get("p1") )
- リスト操作の例
import redis r = redis.StrictRedis(host='localhost', port=6379, db=0) r.lpush( "mylist", "apple" ) r.lpush( "mylist", "orange" ) r.lpush( "mylist", "car" ) print( r.lrange( "mylist", 0, -1 ) )
- 集合操作の例
import redis r = redis.StrictRedis(host='localhost', port=6379, db=0) r.sadd( "myset", "a1" ) r.sadd( "myset", "b2" ) r.sadd( "myset", "c3" ) print( r.smembers( "myset" ) ) print( r.scard( "myset" ) )