LoginSignup
3
3

More than 5 years have passed since last update.

MacOS で Rails(redis-objects)+Redis 使ってみた

Posted at

危険なほどのスピードで動くという Redis を Rails から触ってみます。
MaxOSX 10.10 (Yosemite) です。

導入

インストール

brewで入れます。

brew install redis

自動起動

cp /usr/local/Cellar/redis/2.8.17/homebrew.mxcl.redis.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.redis.plist

~/Library/LaunchAgents/ が無い人は mkdir で作成してください。

設定ファイル

/usr/local/etc/redis.conf にあります。今回はこのまま。

ログファイル

/usr/local/var/log/redis.log

起動確認

クライアントを起動

redis-cli

127.0.0.1:6379> set hoge fuga
OK
127.0.0.1:6379>
127.0.0.1:6379> get hoge
"fuga"

Rails

gem 'redis-objects'
bundle
config/initializers/redis.rb
Redis.current = Redis.new(:host => '127.0.0.1', :port => 6379)

簡単なモデルを書いてみる

hoge.rb
class Hoge < ActiveRecord::Base

  include Redis::Objects
  list :list_value
  hash_key :hash_value

end

Hoge#list_valueHoge#hash_valueRedis で扱えるようになります。

ハマったところ

hoge = Hoge.new
hoge.list_value << 1
hoge.save

はダメで、

hoge = Hoge.new
hoge.save
hoge.list_value << 1

は OK でした。save してから触りましょう。

どんな型が扱えるのか

https://github.com/nateware/redis-objects
を読んでください。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3