Redis 2.8.19官网下载及Redis安装完整过程介绍
Redis 2.8.19 下载地址
(本文由www.169it.com搜集整理)
redis是一个key-value存储系统,和memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hashs(哈希类型).这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的.在此基础上,redis支持各种不同方式的排序.与memcached一样,为了保证效率,数据都是缓存在内存中.区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步.
redis 使用标准的 major.minor.patchlevel版本做法。 stable表示稳定版本,一般用偶数版本,如:1.2, 2.0, 2.2, 2.4, 2.6,2.8。 奇数标识不稳定版本,如:2.9.x,他未来的稳定版本是3.0。要安装redis必须先到redis官网http://www.redis.io下载redis安装包,redis版本分为稳定版(stable)和发布候选版(rc-2).当前最新的redis稳定版为Redis 2.8.19,发布候选版为 Redis 3.0。它们在官网的截图如下:
Redis稳定版下载地址: redis-2.8.19.tar.gz
Redis发布候选版下载地址: redis-3.0.0-rc2.tar.gz
Redhat Linux 6.5/centos 6.5下使用非root用户安装redis 2.8.19详细步骤
一、安装完整过程步骤
sudo yum install make sudo yum install gcc sudo yum install -y tcl
2、将下载的Redis解压、编译、安装
$ tar -xzvf redis-2.8.19.tar.gz $ cd redis-2.8.19 $ make MALLOC=libc $ make test
注:make会在目录下生成四个可执行文件:redis-benchmark、redis-cli、redis-server、redis-stat
$sudo make install
注:这个操作会将生成的可执行文件复制到/usr/local/bin中
二、启动
1、直接启动(适用于开发环境)
$redis-server
wget https://github.com/ijonas/dotfiles/raw/master/etc/init.d/redis-server wget https://github.com/ijonas/dotfiles/raw/master/etc/redis.conf sudo mv redis-server /etc/init.d/redis-server sudo chmod +x /etc/init.d/redis-server sudo mv redis.conf /etc/redis.conf
将/etc/init.d/redis-server文件里的内容替换成以下内容:
#!/bin/sh # # redis - this script starts and stops the redis-server daemon # # chkconfig: - 85 15 # description: Redis is a persistent key-value database # processname: redis-server # config: /etc/redis.conf # config: /etc/sysconfig/redis # pidfile: /var/run/redis.pid # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ "$NETWORKING" = "no" ] && exit 0 redis="/usr/local/bin/redis-server" prog=$(basename $redis) REDIS_CONF_FILE="/etc/redis.conf" [ -f /etc/sysconfig/redis ] && . /etc/sysconfig/redis lockfile=/var/lock/subsys/redis start() { [ -x $redis ] || exit 5 [ -f $REDIS_CONF_FILE ] || exit 6 echo -n $"Starting $prog: " daemon $redis $REDIS_CONF_FILE retval=$? echo [ $retval -eq 0 ] && touch $lockfile return $retval } stop() { echo -n $"Stopping $prog: " killproc $prog -QUIT retval=$? echo [ $retval -eq 0 ] && rm -f $lockfile return $retval } restart() { stop start } reload() { echo -n $"Reloading $prog: " killproc $redis -HUP RETVAL=$? echo } force_reload() { restart } rh_status() { status $prog } rh_status_q() { rh_status >/dev/null 2>&1 } case "$1" in start) rh_status_q && exit 0 $1 ;; stop) rh_status_q || exit 0 $1 ;; restart|configtest) $1 ;; reload) rh_status_q || exit 7 $1 ;; force-reload) force_reload ;; status) rh_status ;; condrestart|try-restart) rh_status_q || exit 0 ;; *) echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" exit 2 esac
sudo useradd redis sudo mkdir -p /var/lib/redis sudo mkdir -p /var/log/redis sudo chown redis.redis /var/lib/redis sudo chown redis.redis /var/log/redis
sudo chkconfig --add /etc/init.d/redis-server sudo chkconfig redis-server --level 345 on
使用chkconfig --list查看添加的服务
(4)启动服务
sudo service redis-server start
三、Redis的使用
redis-cli 127.0.0.1:6379> 127.0.0.1:6379> 127.0.0.1:6379> keys * (empty list or set)
Redis的优点
性能极高 – Redis能支持超过 100K+ 每秒的读写频率。
丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
原子 – Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。
丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。
下面是官方的bench-mark数据:
设置和获取的值是一个256字节字符串。
Linux box是运行Linux 2.6,这是X3320 Xeon 2.5 ghz。
结果:写的速度是110000次/s,读的速度是81000次/s 。
redis常用命令介绍
Redis根本是使用内存存储,持久化的关键是这三条指令:SAVE BGSAVE LASTSAVE .
当接收到SAVE指令的时候,Redis就会dump数据到一个文件里面。值得一说的是它的独特功能:存储列表和集合,这是它与nosql数据库相比更有竞争力的地方。
redis和其它key-value数据库相比特殊的命令:
TYPE key — 用来获取某key的类型KEYS pattern — 匹配所有符合模式的key,比如KEYS * 就列出所有的key了,当然,复杂度O(n)
RANDOMKEY - 返回随机的一个key
RENAME oldkeynewkey— key也可以改名
redis列表操作命令
RPUSH key string — 将某个值加入到一个key列表头部
LPUSH key string — 将某个值加入到一个key列表末尾
LLEN key — 列表长度
LRANGE key start end — 返回列表中某个范围的值,相当于mysql里面的分页查询那样
LTRIM key start end — 只保留列表中某个范围的值
LINDEX key index — 获取列表中特定索引号的值,要注意是O(n)复杂度
LSET key index value — 设置列表中某个位置的值
LPOP key
RPOP key — 和上面的LPOP一样,就是类似栈或队列的那种取头取尾指令,可以当成消息队列来使用了
redis集合操作命令
SADD key member — 增加元素
SREM key member — 删除元素
SCARD key — 返回集合大小
SISMEMBER key member — 判断某个值是否在集合中
SINTER key1 key2 ... keyN — 获取多个集合的交集元素
SMEMBERS key — 列出集合的所有元素
还有Multiple DB的命令,可以更换db,数据可以隔离开,默认是存放在DB 0。
应用程序直接访问Redis数据库架构
redis和mongodb区别详细介绍 Redis的Node.js扩展包 node_redis 基于Key-Value的NOSQL数据库Redis的数据结构及常用相关命令介绍 Redis 的 Java 实现 redis-protocol Redis 3.2.4官方下载地址及Redis安装完整过程介绍 redis的搜索组件 redis-search4j mongodb和redis哪个好?mongodb和redis比较 Redis桌面客户端 Redis Studio 使用PHP导出Redis数据到另一个Redis中的代码 Redis 客户端开发包 labs-redis Redis on Windows Redis 客户端图形界面工具 RedisClient Redis Desktop Manager Redis的PHP客户端包 Predis Redis的持久化存储 redis-storage Redis Cluster Nginx-Redis redis2-nginx-module Redis 服务器监控系统 Angel Redis的C++客户端 xRedis