Redis のインストールと活用ガイド(Ubuntu上)
本ガイドでは,Ubuntu環境でのRedisのインストールと実践的な活用方法について,Ubuntu PPAを使用した詳細な手順で解説します. コマンドライン操作,PythonおよびRubyによる実装例を通じて,効率的なデータ管理手法を説明します. なお,本記事の内容はRedis公式ドキュメント(https://redis.io/download)に準拠しています.
【目次】
- インストール前の環境準備
- Redisのインストール手順(Ubuntu PPA使用)
- コマンドラインによるRedisの基本操作(キーバリュー,リスト,集合)
- PythonによるRedis操作の実践(キーバリュー,リスト,集合)
- RubyによるRedis操作の実践(キーバリュー,リスト,集合)
【サイト内の関連ページ】
インストール前の環境準備
システムの更新
Ubuntu システムを最新の状態に更新するため, 以下のコマンドを実行します.
Ubuntu の初期セットアップについてはセットアップガイド »を参照してください
sudo apt -y update sudo apt -yV upgrade sudo /sbin/shutdown -r now
Redisのインストール手順(Ubuntu PPA使用)
Redis公式ドキュメント(https://redis.io/download)に基づき,以下の手順で実施します.
sudo add-apt-repository ppa:redislabs/redis sudo apt-get update sudo apt-get install redis
Ubuntu PPAを使用したインストールでは,Redisサーバは自動的に起動される設定が適用されます.
コマンドラインによるRedisの基本操作(キーバリュー,リスト,集合)
【公式コマンドリファレンス】 https://redis.io/commands
- Redisコマンドラインクライアントの起動方法
redis-cli
- キーバリュー操作の例
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操作の実践
Pythonプログラムの実行環境
- キーバリューストアの実装例
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( "plist", "apple" ) r.lpush( "plist", "orange" ) r.lpush( "plist", "car" ) print( r.lrange( "plist", 0, -1 ) )
- 集合操作の実装例
import redis r = redis.StrictRedis(host='localhost', port=6379, db=0) r.sadd( "pset", "a1" ) r.sadd( "pset", "b2" ) r.sadd( "pset", "c3" ) print( r.smembers( "pset" ) ) print( r.scard( "pset" ) )
RubyによるRedis操作の実践
前準備:必要なgemのインストール
sudo gem install redis
- キーバリューストアの実装例
require 'rubygems' require 'redis' require 'json' r = Redis.new r.set "y", 100 r.get "y" product = Struct.new("Product", :name, :price, :qty) p2 = product.new("kaneko", 120, 20) r.set "p2", p2.to_json r.get "p2"
- リスト操作の実装例
require 'rubygems' require 'redis' r = Redis.new r.lpush "hogelist", "apple" r.lpush "hogelist", "orange" r.lpush "hogelist", "car" r.lrange "hogelist", 0, -1
- 集合操作の実装例
require 'rubygems' require 'redis' r = Redis.new r.sadd "hogeset", "a1" r.sadd "hogeset", "b2" r.sadd "hogeset", "c3" r.smembers "hogeset" r.scard "hogeset"
- データベース接続とhashset型オブジェクトの表示プログラム
require "redis" redis = Redis.new keys = redis.keys "*" keys.each do |i| print redis.hgetall i print "\n" end