NoSQL之Redis的介绍与安装
一、简介 官方定义: Redis is an open source,advanced key-valuestore.It is often referred to as adata structure server since keys can containstrings,hashes,lists,sets andstored sets. 译文: Redis是一个开源的,先进的key-value存储。它通常被成为数据结构服务器,因为键可以 包含字符串,哈希,链表,集合和有序集合。 二、Redis介绍 Redis是一个key-value存储系统。它支持存储的value类型很多,包括string(字符串)、list(链表)、set(集合)、zset(有序集合)。这些数据类型都支持push/pop、add/remove以及取交集、并集等更丰富的操作。Redis支持各种不同方式的排序。为了保证效率,数据都是缓存在内存中,它也可以周期性的把数据写入磁盘或者把修改操作记录到文件日志中。 Redis提供的API语言包括:C、C++、C#、Clojure、Common Lisp、Erlang、HashKell、Java、Javascript、Lua、Objective-C、Per、PHP、Python、Ruby、Scala、Go、Tcl 三、Redis适用场合 目前全球最大的Redis用户是新浪微博,在新浪有200多台redis服务器,400多个端口正在运行Redis来为微博用户提供服务。 新浪用redis的方式主要由有两种: 1:Application---------->Redis 应用直接和Redis通讯,不用DB做持久化存储,这样有个缺点就是Redis服务器挂断数据会丢失。 2:Application---------->Redis----------->Mysql(Redis的数据和Mysql会实时同步) 应用程序直接访问Redis集群,如果访问Redis集群失败那么就会访问Mysql 具体的使用场景包括: 1.取最新N个数据的操作 2.排行榜应用,取TOPN操作 3.需要精确设定过期时间的应用 4.计数器应用 5.Uniq操作,获取某段时间所有数据排重值 6.实时系统,反垃圾系统 7.Pub/Sub构建实时消息系统 8.构建队列系统 9.缓存 四、Redis的安装与部署 Redis的官方下载地址:http://redis.io/download
目前的稳定版本是2.8.1,尽量下载它的稳定版本。 下载下来的文件名是:redis-2.8.1.tar.gz 然后找到文件所在的目录(su 成root)执行下面的命令 如果想安装到/usr/local目录下,可以先用mv redis-2.8.1.tar.gz /usr/local这个命令把安装包移动到这个目录 然后 tar zxvf redis-2.8.1.tar.gz cd redis-2.8.1 make cd src && make install 这样redis已经安装成功了。安装的目录就是/usr/local/redis-2.8.1。我们可以cd到这个目录下,然后可以看到一个redis.conf,这个是redis的配置文件,启动redis的时候需要指定这个配置文件的地址。然后还可以看到一个src目录,这个目录下放着redis的启动命令我们在这里主要用到的是 redis-server(启动redis)和redis-cli(登录redis的客户端)。 启动redis的命令:/usr/local/redis-2.8.1/src/redis-server /usr/local/redis-2.8.1/redis.conf 在执行这个命令之前我们需要做一件事,因为我们希望redis是以demon方式来启动的,就像memcached我们要指定-d一样,redis的需要在配置文件中指定,我们打开redis.conf,找到daemonize这项,把no改成yes保存退出,就是指定redis以demon方式启动了。然后再执行上面的命令,执行完这条命令之后,可以用ps -ef | grep redis就可以看到redis是否启动成功,redis默认使用的端口是6379 也可以用netstat -tunpl | grep 6379来看到6379来查看该端口是否被使用。 客户端连接命令:/usr/local/redis-2.8.1/src/redis-cli 用这条命令就可以登录到redis的客户端,使用它的协议来操作了,这个就像用telnet来登录memcached是一个样的。 redis的停止命令:/usr/local/redis-2.8.1/src/redis-cli shutdown或者pkill redis-server (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |