官网:http://redis.io/
github地址:
https://github.com/antirez/redis
简介:
redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便。
redis工具类实现:
maven依赖
<!-- jedis:redis clients -->
<dependency>
<groupId>commons-pool</groupId>
<artifactId>commons-pool</artifactId>
<version>1.6</version>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.7.2</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
jedis客户端工具类(Simple+Pool+ShardedPool三种方式)+对比XMemcached客户端工具类:【分片ShardedPool、主从】
..

..
虽然,redis支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作;
但是,上述集合操作抽象到工具类中太啰嗦了;
因此,改版本工具类中,只针对Object和String类型封装了工具方法;
windows安装redis:
Redis官方是不支持windows的,只是 Microsoft Open Tech group 在 GitHub上开发了一个Win64的版本。
解压后的bin目录下有以下这些文件:
redis-benchmark.exe #基准测试
redis-check-aof.exe # aof
redis-check-dump.exe # dump
redis-cli.exe # 客户端
redis-server.exe # 服务器
redis.windows.conf # 配置文件
配置:修改配置文件redis.windows.conf
.......启动内存.......
# maxheap <bytes>
maxheap 1024000000
.......
Redis总共支持四个级别:debug、verbose、notice、warning,默认为verbose
注册/注销系统服务,启动/停止:
批处理命令文件【service-install.bat】:redis-server.exe --service-install redis.windows.conf --loglevel verbose
批处理命令文件【uninstall-service.bat】:redis-server --service-uninstall
启动关闭命令:net start redis / net stop redis
非系统服务方式,启动/停止:
方式一:双击"redis-server.exe"
方式二:批处理命令文件【startup.bat】:redis-server redis.windows.conf
测试使用:
a、help查看:> help
b、help查看String:> help @String
c、双击redis-cli.exe或者如下
> telnet 127.0.0.1 6379
> set name jack
> get name
CentOS安装redis:
安装编译工具:
yum install wget make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel kernel keyutils patch perl
安装Redis需要tcl支持:
# yum install -y tcl
下载安装redis:
# wget http://download.redis.io/releases/redis-3.0.2.tar.gz
# tar xvzf redis-3.0.2.tar.gz
# mv redis-3.0.2 /home/root
# cd /home/root/redis-3.0.2
# make
# make test
# make install
提示1:如果没有安装gcc,安装命令:yum install gcc-c++
提示2: You need tcl 8.5 or newer in order to run the Redis test,执行命令:yum install -y tcl
在make成功以后,会在src目录下多出一些可执行文件:redis-server,redis-cli等等
测试通过后安装,安装后会自动把redis-server,redis-cli,redis-benchmark,redis-check-aof,redis-check-dump复制到/usr/local/bin目录下
控制台启动(默认端口6379):
配置文件见安装目录下:redis.conf
执行命令:
# cd /home/root/redis-3.0.2/
# ./src/redis-server
系统服务(守护进程) + 开机启动:
安装的install的时候,redis的命令会被拷贝到/usr/local/bin下面
配置redis.conf拷贝到/usr/local/bin目录下
# cd /home/root/redis-3.0.2/
# cp redis.conf /usr/local/bin
# cd /usr/local/bin
# vi redis.conf
配置redis.conf文件:修改daemonize no改成yes
编写自init.d脚本:
# vi /etc/init.d/redis
###########################
#chkconfig: 2345 10 90
#description: Start and Stop redis
PATH=/usr/local/bin:/sbin:/usr/bin:/bin
REDISPORT=6379
EXEC=/usr/local/bin/redis-server
REDIS_CLI=/usr/local/bin/redis-cli
PIDFILE=/var/run/redis.pid
CONF="/usr/local/bin/redis.conf"
case "$1" in
start)
if [ -f $PIDFILE ]
then
echo "$PIDFILE exists, process is already running or crashed"
else
echo "Starting Redis server..."
$EXEC $CONF
fi
if [ "$?"="0" ]
then
echo "Redis is running..."
fi
;;
stop)
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE does not exist, process is not running"
else
PID=$(cat $PIDFILE)
echo "Stopping ..."
$REDIS_CLI -p $REDISPORT SHUTDOWN
while [ -x ${PIDFILE} ]
do
echo "Waiting for Redis to shutdown ..."
sleep 1
done
echo "Redis stopped"
fi
;;
restart|force-reload)
${0} stop
${0} start
;;
*)
echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2
exit 1
esac
##############################
执行权限
# chmod +x /etc/init.d/redis
开机自启动
# sudo chkconfig redis on
启动或停止redis
# service redis start
# service redis stop
# service redis stop
开启访问端口6379
# /sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT
# /etc/rc.d/init.d/iptables save
- Redis安装测试(待完善)
1 Redis安装 在网址http://redis.io/下载redis-3.2.3.tar.gz,解压. 进入解压目录 编译和安装,具体配置项可参考自带的README.md文件 make test ...
- Redis安装及实现session共享
一.Redis介绍 1.redis是key-value的存储系统,属于非关系型数据库 2.特点:支持数据持久化,可以让数据在内存中保存到磁盘里(memcached:数据存在内存里,如果服务重启,数据会 ...
- windows 环境下的redis安装
Redis安装 1.由于是练习,所以就在windows下安装的环境,并没有在LINUX服务器上装,但是知识点是一样的 安装流程: a.下载地址:https://github.com/MSOpenTec ...
- CentOS7— Redis安装(转和延续)
Part I. Redis安装(转载部分) 一.安装 wget http://download.redis.io/redis-stable.tar.gz tar xvzf redis-stable.t ...
- php redis 安装篇(windows 7)
人人都说redis比memcached好,但是没有实际体验过,概念还是比较模糊,今天就先把redis安装好,后面的体验再分享,由于php已经有了很好的扩展库支持,所以redis安装非常方便,下面是wi ...
- linux下的redis安装以及php添加redis扩展
一.redis的安装 win版本详见: 下面是linux版本的安装步骤: step1.下载 http://redis.io/download下载完后直接make然后make install,注意sud ...
- CentOS 6.6下Redis安装配置记录
转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/120.html?1455855209 在先前的文章中介绍过redis,以下 ...
- Redis安装配置与Jedis访问数据库
一.NOSQL概要 NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库.NoSQL数据库的四大分类 键值(Key-Value)存储数据库 这一类数据 ...
- Redis总结(一)Redis安装
最近项目中需要使用Redis,刚好这两天有时间,便总结记录一下Redis的安装,以及如何在.NET中使用Redis. Redis是一个用的比较广泛的Key/Value的内存数据库.目前新浪微博.Git ...
- Redis-cluster集群【第一篇】:redis安装及redis数据类型
Redis介绍: 一.介绍 redis 是一个开源的.使用C语言编写的.支持网络交互的.可以基于内存也可以持久化的Key-Value数据库. redis的源码非常简单,只要有时间看看谭浩强的C语言,在 ...
随机推荐
- oracle ebs应用产品安全性-安全性规则
定义: 通过为段指定包括下限值与上限值的值范围,可以定义安全性规则要素.安全性规则要素适用于包括在指定值范围内的所有段值. 可以将每个安全性规则要素标识为"包括"或"排除 ...
- Android重命名包名
工程写的差不多了才发现原来用的包名还是自己尝试性的进行写代码的时候用到的.但apk的发布,google map api的申请等等方面都需要用到一个比较规范的包名.这就涉及到修改包名的问题. 包名一开始 ...
- 【算法导论】图的深度优先搜索遍历(DFS)
关于图的存储在上一篇文章中已经讲述,在这里不在赘述.下面我们介绍图的深度优先搜索遍历(DFS). 深度优先搜索遍历实在访问了顶点vi后,访问vi的一个邻接点vj:访问vj之后,又访问vj的一个邻接点, ...
- Android自定义view进阶-- 神奇的贝塞尔曲线
上一篇介绍了自定义view需要知道的基本函数.新开一篇献给借给我vpn的深圳_奋斗小哥. 转载请注明出处:http://blog.csdn.net/wingichoy/article/details/ ...
- python函数参数是值传递还是引用传递(以及变量间复制后是否保持一致):取决于对象内容可变不可变
函数参数传递本质上和变量整体复制一样,只是两个变量分别为形参a和实参b.那么,a=b后,a变了,b值是否跟着变呢?这取决于对象内容可变不可变 首先解释一下,什么是python对象的内容可变不可变? p ...
- October 23, 2013 - Fires and smoke in eastern China
October 23, 2013 - Fires and smoke in eastern China Satellite: Aqua Date Acquired: 10/12/2013 Resolu ...
- 用U盘安装Ubuntu15.04
用UltraISO刻录Ubuntu15.04到U盘安装,出现:Failed to load idlinux.c32错误,解决办法如下: source url: http://www.ubuntukyl ...
- android使用ViewPager实现欢迎引导页
android使用ViewPager实现欢迎引导页 大多数APP第一次启动的时候,都会有一个引导界面,左右滑动,到最后一张,用户点击才再次进入主界面.当第二次启动的时候,则直接进入主界面. 这种效果一 ...
- DES
本文对DES的介绍部分摘自博文DES加密算法的C++实现,具体实现则由自己完成. 另外,DES的官方文档链接见这里,在维基百科上也有比较详细的介绍.不过,DES已经被证明是不安全的(可见于RSA公司 ...
- php引用传值详解
php的引用(就是在变量或者函数 .对象等前面加上&符号) 在PHP 中引用的意思是:不同的名字访问同一个变量内容. 与C语言中的指针是有差别的.C语言中的指针里面存储的是变量的内容在内存中存 ...