陈斌彬的技术博客

Stay foolish,stay hungry

Redis 安装和使用

img

Redis介绍

Redis is an open source, BSD licensed, advanced key-value cache and store. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets, sorted sets, bitmaps and hyperloglogs.

REmote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统。Redis 提供了一些丰富的数据结构,包括 lists, sets, ordered sets 以及 hashes ,当然还有和 Memcached 一样的 strings 结构.Redis 当然还包括了对这些数据结构的丰富操作。

Redis 常被称作是一款数据结构服务器(data structure server)。Redis 的键值可以包括字符串(strings)类型,同时它还包括哈希(hashes)、列表(lists)、集合(sets)和 有序集合(sorted sets)等数据类型。 对于这些数据类型,你可以执行原子操作。例如:对字符串进行附加操作(append);递增哈希中的值;向列表中增加元素;计算集合的交集、并集与差集等。

Redis的优点

性能极高 – Redis 能支持超过 100K+ 每秒的读写频率。

丰富的数据类型 – Redis 支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。

原子 – Redis 的所有操作都是原子性的,同时 Redis 还支持对几个操作全并后的原子性执行。

丰富的特性 – Redis 还支持 publish/subscribe, 通知, key 过期等等特性。

安装

执行命令:

brew install redis

安装即可。

如下图所示:

img

redis 常用指令

  • redis-server is the Redis Server itself.
  • redis-sentinel is the Redis Sentinel executable (monitoring and failover).
  • redis-cli is the command line interface utility to talk with Redis.
  • redis-benchmark is used to check Redis performances.
  • redis-check-aof and redis-check-dump are useful in the rare event of corrupted data files.

启动 redis(Starting Redis)

img

PS:warning 提醒这里 redis.conf 配置文件使用默认配置,主要用于开发和测试,但是如果用于生产环境,就需要配置 redis.conf 文件。Homebrew 安装的 redis.conf 放在 /usr/local/etc/目录下。下面是官方的英文解释。

In the above example Redis was started without any explicit configuration file, so all the parameters will use the internal default. This is perfectly fine if you are starting Redis just to play a bit with it or for development, but for production environments you should use a configuration file.

In order to start Redis with a configuration file use the full path of the configuration file as first argument, like in the following example: redis-server /etc/redis.conf. You should use the redis.conf file included in the root directory of the Redis source code distribution as a template to write your configuration file.

img

启动 Redis-client

$ su    ( 输入root密码,进入root目录)
$ redis-cli

img

查看Redis

$ ps -ef | grep redis

img

测试(Check if Redis is working)

第一步:

执行命令:

$ redis-cli ping
PONG

第二步:

redis 127.0.0.1:6379> set mykey somevalue
OK
redis 127.0.0.1:6379> get mykey
"somevalue"

关闭redis

$ redis-cli shutdown

This way Redis will make sure to save the data on disk before quitting.

安装redis 桌面管理器

http://redisdesktop.com/download

Tip:redis 文件中的 dump.rdb 文件是怎么生成的

简而言之,dump.rdb 是由 Redis 服务器自动生成的

默认情况下 每隔一段时间 redis 服务器程序会自动对数据库做一次遍历,把内存快照写在一个叫做 “dump.rdb” 的文件里,这个持久化机制叫做 S NAPSHOT 。有了 SNAPSHOT 后,如果服务器宕机,重新启动 redis 服务器程序时 redis 会自动加载 dump.rdb ,将数据库状态恢复到上一次做 SNAPSHOT 时的状态。

至于多久做一次 SNAPSHOT,SNAPSHOT 文件的路径和文件名,你可以在 redis 的 conf 文件里指定。

除了 SNAPSHOT,redis 还支持 AOF 持久化。

参考