Redis入门教程

转载 2012年03月29日 16:22:17

原文链接:http://lgone.com/html/y2010/776.html

本文包括如下内容:

  1. Redis简介
  2. Redis的性能
  3. 安装Redis、Redis启动参数介绍
  4. 应用实例:利用Redis构建简单的微博系统(官方例子链接)

注:入门教程,仅供菜鸟

1.Redis简介

Redis是一个key-value存储系统。和Memcached类似,但是解决了断电后数据完全丢失的情况,而且她支持更多无化的value类型,除了和string外,还支持lists(链表)、sets(集合)和zsets(有序集合)几种数据类型。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。

2.Redis的性能

下面是官方的bench-mark数据:

The test was done with 50 simultaneous clients performing 100000 requests.The value SET and GET is a 256 bytes string.The Linux box is running Linux 2.6, it’s Xeon X3320 2.5Ghz.Text executed using the loopback interface (127.0.0.1).

Results: about 110000 SETs per second, about 81000 GETs per second.


更多详细数据请见官方bench-mark page(http://code.google.com/p/redis/wiki/Benchmarks

3.安装Redis、Redis启动参数介绍

3.1.安装Redis

Redis的代码遵循ANSI-C编写,可以在所有POSIX系统(如Linux, *BSD, Mac OS X, Solaris等)上安装运行。而且Redis并不依赖任何非标准库,也没有编译参数必需添加。编译安装Redis,我们唯一需要的就是make,下面是安装过程,使用的是目前的稳定版本1.2.6版,2.0版本目前尚处于开发状态。

3.1.1.获取源码、解压、进入源码目录:

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

3.1.2.编译生成可执行文件:

由于makefile文件已经写好,我们只需要直接在源码目录执行make命令进行编译即可:

make

make命令执行完成后,会在当前目录下生成本个可执行文件,分别是redis-server、redis-cli、redis-benchmark、redis-stat,它们的作用如下:

  • redis-server:Redis服务器的daemon启动程序
  • redis-cli:Redis命令行操作工具。当然,你也可以用telnet根据其纯文本协议来操作
  • redis-benchmark:Redis性能测试工具,测试Redis在你的系统及你的配置下的读写性能
  • redis-stat:Redis状态检测工具,可以检测Redis当前状态参数及延迟状况

3.1.3.建立Redis目录(非必须)

这个过程不是必须的,只是为了将Redis相关的资源统一管理而进行的操作。

执行以下命令建立相关目录并拷贝相关文件至目录中:

sudo -s
mkdir -p /usr/local/redis/bin
mkdir -p /usr/local/redis/etc
mkdir -p /usr/local/redis/var
cp redis-server redis-cli redis-benchmark redis-stat /usr/local/redis/bin/
cp redis.conf /usr/local/redis/etc/

3.2.Redis配置参数详解

在我们成功安装Redis后,我们直接执行redis-server即可运行Redis,此时它是按照默认配置来运行的(默认配置甚至不是后台运行)。我们希望Redis按我们的要求运行,则我们需要修改配置文件,Redis的配置文件就是我们上面第二个cp操作的redis.conf文件,目前它被我们拷贝到了/usr/local/redis/etc/目录下。修改它就可以配置我们的server了。如何修改?下面是redis.conf的主要配置参数的意义:

  • daemonize:是否以后台daemon方式运行
  • pidfile:pid文件位置
  • port:监听的端口号
  • timeout:请求超时时间
  • loglevel:log信息级别
  • logfile:log文件位置
  • databases:开启数据库的数量
  • save * *:保存快照的频率,第一个*表示多长时间,第三个*表示执行多少次写操作。在一定时间内执行一定数量的写操作时,自动保存快照。可设置多个条件。
  • rdbcompression:是否使用压缩
  • dbfilename:数据快照文件名(只是文件名,不包括目录)
  • dir:数据快照的保存目录(这个是目录)
  • appendonly:是否开启appendonlylog,开启的话每次写操作会记一条log,这会提高数据抗风险能力,但影响效率。
  • appendfsync:appendonlylog如何同步到磁盘(三个选项,分别是每次写都强制调用fsync、每秒启用一次fsync、不调用fsync等待系统自己同步)

下面是一个略做修改后的配置文件内容:

daemonize yes
pidfile /usr/local/redis/var/redis.pid
port 6379
timeout 300
loglevel debug
logfile /usr/local/redis/var/redis.log
databases 16
save 900 1
save 300 10
save 60 10000
rdbcompression yes
dbfilename dump.rdb
dir /usr/local/redis/var/
appendonly no
appendfsync always
glueoutputbuf yes
shareobjects no
shareobjectspoolsize 1024

将上面内容写为redis.conf并保存到/usr/local/redis/etc/目录下

然后在命令行执行:

/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf

即可在后台启动redis服务,这时你通过

telnet 127.0.0.1 6379

即可连接到你的redis服务。

4.利用Redis构建简单的微博系统

具体例子见官方文档:
A case study: Design and implementation of a simple Twitter clone using only the Redis key-value store as database and PHP

干货--Redis 30分钟快速入门

一、redis 环境搭建2 二、redis学习笔记之数据类型3 三、redis学习笔记之排序11 四、redis学习笔记之事务16 五、redis学习笔记之pipeline20 六、redis学习笔记...
  • tanggao1314
  • tanggao1314
  • 2016年04月10日 21:56
  • 7863

REDIS入门教程

http://www.yiibai.com/redis/redis_quick_guide.html Redis 有三个主要使其有别于其它很多竞争对手的特点: Redi...
  • xiefu5hh
  • xiefu5hh
  • 2016年07月02日 14:28
  • 135

Redis教程(一) Redis入门教程

Redis 是一个 Key-Value 存储系统。和 Memcached 类似,它支持存储的 value 类型相对更多,包括 string(字符串)、 list(链表)、 set(集合)和 zset(...
  • yuan_xw
  • yuan_xw
  • 2016年08月01日 11:32
  • 1928

Redis教程(一) Redis入门教程

Redis教程(一) Redis入门教程   1 Redis入门教程 Redis是一个 Key-Value存储系统。和 Memcached类似,它支持存储的 value类...
  • awhip9
  • awhip9
  • 2017年04月27日 14:06
  • 293

Redis入门教程

入门教程,仅供菜鸟。 原文链接:http://lgone.com/html/y2010/776.html 本文包括如下内容: Redis简介 Redis的性能 安装Redis...
  • weiqubo
  • weiqubo
  • 2014年03月29日 23:04
  • 1044

SpringBoot 入门教程:集成mybatis,redis

SrpingBoot相较于传统的项目具有配置简单,能快速进行开发的特点,花更少的时间在各类配置文件上,更多时间在具体业务逻辑上。 SPringBoot采用纯注解方式进行配置,不喜欢xml配置的同学得...
  • qy6kwyec
  • qy6kwyec
  • 2017年02月09日 12:51
  • 466

Redis基础学习--脚本(Lua语言)

Redis在2.6版推出了脚本功能,允许开发者使用Lua语言编写脚本传到Redis中执行。在Lua脚本中可以调用大部分的Redis命令,使用脚本的好处如下。     (1)减少网络开销:在Redis操...
  • oChangWen
  • oChangWen
  • 2016年12月04日 20:44
  • 848

redis快速入门教程

原文链接:redis快速入门教程 redis是什么redis的作者何许人也谁在使用redis学会安装redis学会启动redis使用redis客户端redis数据结构 – 简介redis数据结构 ...
  • u011461420
  • u011461420
  • 2016年01月24日 22:39
  • 388

Redis 数据库入门教程

NoSQL数据库(非关系型数据库)一度成为高并发、海量数据存储解决方案的代名词,与之相应的产品也呈现出雨后春笋般的生机。然而在众多产品中能够脱颖而出的却屈指可数,如Redis、MongoDB、Berk...
  • freeking101
  • freeking101
  • 2016年09月22日 09:56
  • 957

Redis数据库入门教程

转载自:http://www.jb51.net/article/56448.htm 【本教程目录】 1.redis是什么 2.redis的作者何许人也 3.谁在使用redis 4.学会安装r...
  • gycool21
  • gycool21
  • 2016年07月18日 19:08
  • 287
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Redis入门教程
举报原因:
原因补充:

(最多只允许输入30个字)