您的位置:首页 > 数据库 > Redis

Redis入门很简单之一【简介与环境搭建】

2015-12-08 16:24 495 查看
【Redis简介】

<一>. NoSQL简介:

NoSQL是Not-Only-SQL的缩写,是被设计用来替换传统的关系型数据库在某些领域的用,特别针对web2.0站点以及大型的SNS网站,用来满足高并发、大数据的应用需求

.常见的NoSQL数据库系统有HBase(Hadoop数据库,基于列存储)、MongoDB(文档型数据库,采用类型与JSON的BSON语法存储记录)、Redis/Memcached(键值存储数据库)等类型。

<二>. Redis介绍:

Redis是NoSQLogic系列数据库中,和Memcached最为相似的数据库系统,同属键值存储系统。严格意义上来讲,Memcached并不能算作数据库系统,只能算作中间缓存系统,因为其并不能进行数据的持久化存储。Redis的字面意思是:远程字典服务器(REmote DIctionary Server),和Memcached相比较,提供了更加丰富的数据类型

,更被认为是一种数据结构服器。

<三>. Redis、memcached比较:


和Memcached相比,Redis的优势十分明显。

1. 数据类型:Redis支持更丰富的数据类型,包括字符串(string)、列表(list:可用作队列、堆栈)、集合(set:可以进行集合的运算)、有序集合(sorted set)、哈希表(hash)等,而Memcached仅支持字符串。

2. 对象大小:Redis支持的对象大小最大支持1GB,而Memcached仅为1MB,仅从这个角度来讲,就很有使用Redis替换Memcached的必要。

3. 分片(Sharding):可以将数据离散地存储在不同的物理机器上,以克服单台机器的内存大小限制。Memcached是在服务器实现实现分片的,而Redis需要借助于Jedis实现客户端分片,Jedis是Redis官方推荐的使用Java访问Redis的方式。

使用Jedis的分片机制,存储一批数据,在不同的Redis服务器上存储着这批数据的不同部分.而这对客户端来说,而完全透明的,看不到这种差别。另外需要注意,使用Spring Data Redis进行客户端操作时,不提供对分片支持。

4. 持久化:Redis能够将添加到内存中的数据持久化到磁盘,而Memcached则只能充当一个功能相对有限的缓存中间件角色。

<四>. 应用场景:


1. 数据库服务器:用来存储结构相对简单的的数据。

2. 缓存系统:缓存需要大量读取、少量修改的数据。

3. 构建实时消息系统:利用发布(Pub)/订阅(Sub)特性。

4. 对队列的支持:基于列表(list)实现队列(queue)、堆栈(stack)。

【Redis安装】

<一>. 预备知识:

1. Redis是采用C语言编写的,安装时要求Linux系统已经安装GCC编译器,使用CentOS Minimal系统的童鞋可能无法安装成功

,需要实现安装好GCC编译器才可进行如下步骤。

2. 这里我使用nick账号进行Redis的安装,需要创建相应的用户/用户组,以及相应的目录结构。

3. 创建用户/用户组:

* 添加账号:useradd nick

* 添加群组:groupadd excelsoft

* 设置到组:usermod -g excelsoft nick

* 修改密码:passwd nick [输入密码]

4. 创建目录结构:

* 切换到root账号进行如下操作:

su - root

mkdir /software

chown -R nick:excelsoft /software

chown -R nick:excelsoft /usr/local

chown -R nick:excelsoft /opt

* 说明:使用chown操作确保nick账号对这些路径具有操作权限。

/software 用作临时文件夹

/usr/local 软件包安装位置

/opt 数据目录

<二>. 编译安装:

1. 使用nick账号上传Redis安装包redis-2.6.14.tar.gz到/software目录。

2. 进行如下操作,进行安装:

su - nick

cd /software

tar -zxvf redis-2.6.14.tar.gz

cd redis-2.6.14

make

cd src

make install

3. 创建目录:Redis默认安装在/usr/local/bin目录下,现在将可执行文件和配置文件移动到自定义位置。


mkdir -p /usr/local/redis/bin

mkdir -p /usr/local/redis/conf

cd /usr/local/bin

mv redis-benchmark redis-check-aof redis-check-dump

redis-cli redis-server /usr/local/redis/bin

cd /software/redis-2.6.14

mv redis.conf /usr/local/redis/conf

<三>. 启动、关闭:

1. 启动Redis服务器:并指定配置文件的位置,如下方式时前台启动,会阻塞当前客户端,使用Ctrl + C即可关闭。

cd /usr/local/redis/bin

./redis-server ../conf/redis.conf

2. 后台启动:修改redis.conf文件中daemonize为yes即可,使用如上命令再次启动。

cd /usr/local/redis/conf/

vi redis.conf

3. 进行监控:

netstat -apn | grep 6379 -- redis启动默认占用6379端口

ps -ef | grep redis -- 使用进程查看命令

kill 31233 -- 可以进行强制关闭:31233为进程号

4. 关闭操作:通常使用如下命令,很优雅地进行关闭,而不是KILL


./redis-cli shutdown

【补充知识】

<一>. 客户端操作:

./redis-cli -- 客户端登陆

set name Nick -- 进行存储:name为键,Nick为值

get name -- 通过key获取value

<二>. 性能监控:我偷偷地告诉你参数-l(loop)是循环的意思,使用Ctrl + C退出

./redis-benchmark -l

<三>. 为了简化启动/关闭,可编写如下shell脚本:

1. 定位到用户主目录:cd ~

2. 启动脚本:vi start-redis.sh

cd /usr/local/redis/bin

./redis-server ../conf/redis.conf

3. 关闭脚本:vi stop-redis.sh

cd /usr/local/redis/bin

./redis-cli shutdown

4. 客户端连接脚本:vi connect-redis.sh

cd /usr/local/redis/bin

./redis-cli

5. 可执行权限:

chmod +x start-redis.sh

chmod +x stop-redis.sh

chmod +x connect-redis.sh

<四>. 最后,你可以很犀利的启动、连接、关闭:


./start-redis.sh

./connect-redis.sh

./stop-redis.sh
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: