`
ypf3027
  • 浏览: 306517 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Redis入门教程

阅读更多

 

转载文章】本文包括如下内容:

  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.获取源码、解压、进入源码目录:

1
2
3
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命令进行编译即可:

1
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相关的资源统一管理而进行的操作。

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

1
2
3
4
5
6
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等待系统自己同步)

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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/目录下

然后在命令行执行:

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

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

1
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一些资料搜集

官方网址:http://code.google.com/p/redis/

官方FAQ: http://code.google.com/p/redis/wiki/FAQ


1.入门手册

redis指南:http://simonwillison.net/static/2010/redis-tutorial/


2.redis的一个大亮点是支持双向列表,单个对象值最大可达1GB,而且list长度可控


3.redis的作者Salvatore被VMware雇佣,可以潜心研究redis


4.redis支持的常见数据类型:binary,lists,sets,sorted sets,hashes,pubsub channels

http://code.google.com/p/redis/wiki/IntroductionToRedisDataTypes


5.redis常用的命令1:exists,keys,rename,expire,expireat,ttl,del,randomkey,renamenx,type


6.redis常用的命令2(strings):set,get,mset,mget,incr,incrby,decr,decrby,append,substr


7.redis操作db的常用命令:select/move/flushdb/flushall/shutdown/slaveof/dbsize/info/monitor/save/bgsave/lastsave/bgrewriteaof


8.redis操作sets的常用命令:select/move/flushdb/flushall/shutdown/slaveof/dbsize/info/monitor/save/bgsave/lastsave/bgrewriteaof


9.jredis(客户端)的源码下载:

Java代码 复制代码
  1. git clone http://github.com/alphazero/jredis.git  

 

 

 

 

分享到:
评论

相关推荐

    超强、超详细Redis入门教程

    ### Redis入门教程精要 #### 1. Redis 是什么? Redis 是一款开源的、使用 C 语言编写的、支持网络交互的 Key-Value 数据库。它不仅能够将数据存储在内存中实现高速读写,同时也提供了多种持久化机制来确保数据的...

    redis入门教程.zip

    文档"redis入门教程.docx"可能包含了以上这些内容的详细解释和实例,建议阅读以深入理解Redis的相关知识。在学习过程中,结合实践操作和理解不同数据结构的使用场景,将有助于更好地掌握Redis。

    redis入门教程.pdf

    ### Redis 入门教程知识点详解 #### 一、Redis 概述 - **定义**: - Redis(Remote Dictionary Server)是一种开源的、基于内存的日志型 Key-Value 数据库,支持多种数据类型如字符串(string)、链表(list)、...

    史上最详细Redis入门教程,轻松入门Reids

    ### 最详尽Redis入门教程详解 #### 一、Redis简介 Redis(Remote Dictionary Server)是一款高性能的键值存储系统,其最显著的特点在于能够提供多种数据结构的支持,这些数据结构包括但不限于字符串(Strings)、...

    xujiyou#blog-data#Redis入门教程1

    Redis 入门教程官方文档: CentOS 上安装最新版本 Redis,我个人还是喜欢通过 YU

    Excel模板超强、超详细Redis入门教程分享.pdf

    ### Redis入门教程知识点详解 #### 一、Redis简介 **定义**: - **Redis**(Remote Dictionary Server)是一个开源的高性能键值(Key-Value)存储系统,采用ANSI C编写,支持网络通信,能够在内存中运行并具备数据...

    redis入门指南 高清PDF

    redis 入门教程,高清扫描版。免费下载、

    Redis入门教程.docx

    ### Redis入门知识点详解 #### 1. Redis 是什么? Redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库。它提供了丰富的数据结构,并支持多种语言的客户端。Redis的核心...

    很详细的Redis入门教程.docx

    【Redis 是什么】 Redis 是一个高性能的键值存储系统,由意大利程序员 Salvatore Sanfilippo 创建,使用 C 语言编写,它可以将数据存储在内存中,以提供高速的数据读写能力,同时支持持久化,确保数据即使在服务器...

    Redis入门到精通最新教学视频

    Redis入门到精通最新教学视频!!!!!!!!!!!!!!!!!!!

    Redis详细教程

    Redis详细教程

    redis入门教程

    redis数据库入门指引视频,有linux基础的伙伴可以下载学习

    Redis学习教程中文完整版PDF最新版本

    《Redis学习教程》主要介绍了超强、超详细Redis入门教程,本文详细介绍了Redis数据库各个方面的知识,需要的朋友可以参考下 目录 Redis 简介 1. Redis 环境安装 2. Redis 可视化客户端工具 3. Redis 基本数据类型 4....

    Redis使用教程,详解

    Redis 使用教程详解 Redis 是一个高性能的 NoSQL 键值存储数据库,广泛应用于缓存、任务列表、网站访问统计数据、过期处理、应用排行榜、分布式集群架构中的 session 分离等领域。下面是 Redis 的详细使用教程。 ...

    Redis从入门到精通2024版 视频教程 下载 百度网盘链接4.zip

    Redis从入门到精通2024版 视频教程 下载 ├─第 01 章 开篇 │ 001.Redis 录制计划.mp4 │ 002.Redis 介绍.mp4 │ 003.Redis 安装.mp4 │ ├─第 02 章 基本数据类型 │ 01.在后台启动 Redis.mp4 │ 02....

    Redis入门教程_动力节点Java学院整理

    Redis入门教程 Redis是一款强大的开源键-值存储系统,它以其高性能、易操作以及丰富的数据结构支持而备受青睐。作为一款内存数据结构服务器,Redis能够处理大量数据,并且提供了多种数据结构,如字符串、哈希表、...

    超强、超详细Redis数据库入门教程

    Redis 是一个开源的、基于内存的键值存储系统,由 C 语言编写,它不仅可以作为内存数据库使用,还可以实现数据持久化。Redis 的官方网站是 redis.io,由 VMware 赞助并维护。该项目的创始人 Salvatore Sanfilippo,...

Global site tag (gtag.js) - Google Analytics