使用和管理 Redis 服务

什么是 Redis

Redis 是一个开源,基于内存的高性能 key-Value 数据库,它支持存储的 value 类型很丰富,包括 string (字符串)、list (链表)、set (集合)、zset (sortedset--有序集合)和 hash(哈希类型)。这些数据类型都支持 push/pop、add/remove 及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。Redis 对关系型数据库起到很重要的补充作用,并提供丰富的 API 供不同编程语言调用。

在 DaoCloud 服务集成创建 Redis 服务

1.登录 DaoCloud 控制台,选择「服务集成」。

2.在「Dao服务」里选择 Redis 服务。

3.点击 「创建服务实例」。

4.输入服务实例名称,点击「创建」按钮

5.创建完成,可以看到 Redis 服务的相关参数。

6.查看我已创建的服务

Redis 与应用绑定

1.选择需要绑定 Redis 服务的应用,在「应用配置」下的「服务绑定」里选择刚刚创建好的 Redis 服务。

2.当您选择了要绑定的 Redis 服务以后,会发现下面出现了关于连接 Redis 所需要的信息,在您选择保存更改以后,这些信息会写入到您绑定应用的环境变量里,这样您就可以在代码里通过读取相关环境变量来使用 Redis 服务。(您可以在创建应用时绑定 Redis 服务,也可以把 Redis 服务绑定在现有的应用上)。

在一些情况下,请根据代码内读取环境变量的约定,或开源项目 README 文件中的指导,修改环境变量的服务别名。

3.如何读取环境变量,下面我们展示一段使用 Ruby 语言来读写 Redis 的具体代码(完整的 Docker 镜像请前往 GitHub ,您可以 fork 到自己的项目里运行这个例子)

#myapp.rb
require 'sinatra'
require 'redis'

module Sinatra
  class Base
    set :server, %w[thin mongrel webrick]
    set :bind, '0.0.0.0'
    set :port, 8080
  end
end

redis = Redis.new(  :host => ENV['REDIS_PORT_6379_TCP_ADDR'],
                    :port => ENV['REDIS_PORT_6379_TCP_PORT'],
                    :password => ENV['REDIS_PASSWORD'])

get '/' do
  host=     ENV['REDIS_PORT_6379_TCP_ADDR']
  port=     ENV['REDIS_PORT_6379_TCP_PORT']
  password= ENV['REDIS_PASSWORD']
  "Redis_info:\nhost is#{host}\nport is:#{port}\npassword is:#{password}"
end

get '/set/*/*' do
  redis.set(params['splat'][0],params['splat'][1])
end

get '/get/:name' do
  redis.get(params['name'])
end

成功部署后访问应用,便可以看到连接 Redis 所需要的相关信息已经被成功读取出来

管理 Redis 服务

1.管理我的 Redis 服务

在 GitHub 上有许多 Redis 服务管理工具,比如 phpRedisAdmin,这里我们把 phpRedisAdmin 构建成 Docker 镜像来管理我们的 Redis 服务。

GitHub 地址:https://github.com/DaoCloud/DaoCloud_phpRedisAdmin

2.部署管理工具,绑定之前创建的 Redis 服务,应用启动成功后就可以执行常规的 Redis 服务管理操作

至此,我们已经掌握了如何创建和使用 DaoCloud 平台之上的 Redis 服务。