近些年来,关于查询存储数据发展到难以相信的地步。关系型数据库并不是到哪都好使的了,或者说现在的数据的生态系统并不是很相同。

纵观这么多新工具和解决方案,对于我来说,Redis是最兴奋的。为什么呢?

  • 第一个原因就是非常简单就能学会。学习Redis也就是几小时的事。
  • 第二个原因就是它解决了一些特定的问题,而在同一时间是相当通用的。

 

开始

我们用不同于:code,看视频,和一些阅读。没有什么能真正帮助你理解Redis,除了真正的体验Redis。Redis的安装非常简单。

Windows

Redis它本身不是官方支持,但是这有一些其他选择。你不能把他运行在生产环境中。但是我在开发环境中没遇到什么限制。

一个微软开放技术,你可以在 https://github.com/MSOpenTech/redis。写这个的时候还不能用到生产环境中。

另一个解决方案,一些时候是好用的。可以在https://github.com/dmajkic/redis/downloads下载到。你可以下载最新版本(在列表的最上面那个)。

 

Mac and Linux/Unix

对于Mac和Linux/Unix用户,从源码build是最好的选择。命令可以带着最新的版本号。我所的版本都在http://redis.io/download。当写这个教程的时候最新的版本是2.6.13 安装命令:

wget http://redis.googlecode.com/files/redis-2.6.13.tar.gz
tar xzf redis-2.6.13.tar.gz
cd redis-2.6.13
make

或者Reids可以通过包管理(可以通过Homebrew 安装)

如果你是build源码,一个二级制文件会在src目录下出现。通过 cd scr 到对应的路径。

 

运行&连接 Redis

如果一切正常,Redis二进制文件就在你眼前。Redis有一些可执行文件。

我们的焦点放在Redis server和Redis命令行工具。让我们开始server。

在windows中双击redis-server,在Linux/Unix和mac上 执行./redis-server。

如果你看到初始化信息你会看到一个警告,redis.conf文件没有找到。Redis会默认用built-in,这对我们所做很好。

下一步运行 redis-cli 和上一步一样。这回让你连接到当前运行的server 在默认的端口(6379)。

你可以通过在命令行中敲入 info 查看所有的信息,你可以到一连串的key-value 服务器信息:

redis 127.0.0.1:6379> info
# Server
redis_version:2.6.13
redis_git_sha1:00000000
redis_git_dirty:0
redis_mode:standalone
os:Linux 3.2.0-55-generic x86_64
arch_bits:64
multiplexing_api:epoll
gcc_version:4.6.3
process_id:1879
run_id:e85901717c0009fb892a97527b4f4d19adc73951
tcp_port:6379
uptime_in_seconds:111224
uptime_in_days:1
hz:10
lru_clock:29754

# Clients
connected_clients:5
client_longest_output_list:0
client_biggest_input_buf:0
blocked_clients:0

# Memory
used_memory:100535224
used_memory_human:95.88M
used_memory_rss:113377280
used_memory_peak:103834672
used_memory_peak_human:99.02M
used_memory_lua:31744
mem_fragmentation_ratio:1.13
mem_allocator:jemalloc-3.2.0

# Persistence
loading:0
rdb_changes_since_last_save:0
rdb_bgsave_in_progress:0
rdb_last_save_time:1384417653
rdb_last_bgsave_status:ok
rdb_last_bgsave_time_sec:1
rdb_current_bgsave_time_sec:-1
aof_enabled:0
aof_rewrite_in_progress:0
aof_rewrite_scheduled:0
aof_last_rewrite_time_sec:-1
aof_current_rewrite_time_sec:-1
aof_last_bgrewrite_status:ok

# Stats
total_connections_received:86
total_commands_processed:35776035
instantaneous_ops_per_sec:0
rejected_connections:0
expired_keys:0
evicted_keys:0
keyspace_hits:37
keyspace_misses:6
pubsub_channels:0
pubsub_patterns:0
latest_fork_usec:3701

# Replication
role:master
connected_slaves:0

# CPU
used_cpu_sys:967.69
used_cpu_user:167.88
used_cpu_sys_children:14.90
used_cpu_user_children:54.28

# Keyspace
db0:keys=168806,expires=0

如果你遇到什么问题,你可以在https://groups.google.com/forum/#!forum/redis-db查找一些指点

 

Redis驱动

作为你很快就会学到,Redis的Api是最好的描述他的功能。他在程序上表现非常简单。

这意味这你可以在命令行上或者用你熟悉的语言操作都是一样的简单。

因此你不会有关于编程语言是的问题。如果你想概览下客户端列表可以在http://redis.io/clients中找到

 

 

参考推荐:

Redis系列教程

Redis参考命令

Redis学习手册目录

Redis 核心知识图谱

单机开启多个 Redis 实例

Redis 主从集群配置高可用技术方案

BloomFilter + Redis 大数据去重策略的实现

Python 操作 redis 接口函数

Python 操作 Redis 数据库的函数

Redis 双主备份实现

php-redis 各种函数中文手册

统计Redis中各种数据的大小

Redis 常用命令

Redis系列(2)—— 概述

Redis系列(3)—— 数据结构

Redis,MemCached,MongoDB概述