redis环境搭建——Spring mvc 集成

首先:安装java jdk

官网:http://redis.io 

下载安装包 redis-2.8.19.tar.gz

首先解压 tar zxvf redis-2.8.19.tar.gz

然后 cd redis-2.8.19 

执行 make 命令

编译完源文件会出现 src 目录

cd src 然后执行 make install 命令

注:make完成后,有产生可执行文件

 redis-server:redis服务器的启动程序

 redis-cli:redis命令行工具,也可为客户端

 redis-benchmark:redis性能测试工具(读写)

 redis-stat:redis状态检测工具(状态参数延迟)

 

一下是为了方便管理需要对redis的一些关键文件进行移动

mkdir –p /usr/redis/bin

mkdir –p /usr/redis/etc

mv redis-2.8.19/redis.conf  /usr/redis/etc

mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli   redis-server /usr/redis/bin

步骤四:

         启动redis服务

         /usr/redis/bin/redis-server /usr/redis/etc/redis.conf(redis启动时候一定指定配置文件)

         Redis服务端的默认连接端口是6379

         Redis默认不是后台运行

步骤五:

        客户端连接

        ./usr/redis/bin/redis-cli

步骤六:

       停止Redis

        /usr/redis/bin/redis-clishutdown

        or

        pkill redis-server

 

   

Redis的配置

              daemonize 如果需要在后台运行,把该项改为yes

              pidfile 配置多个pid的地址,默认在/var/run/redis.pid

              bind 绑定ip,设置后只接受自该ip的请求

              port 监听端口,默认为6379

              timeout 设置客户端连接时的超时时间,单位为秒

              loglevel 分为4级,debug、verbose、notice、warning

              logfile 配置log文件地址

              databases 设置数据库的个数,默认使用的数据库为0

              save 设置redis进行数据库镜像的频率,保存快照的频率,第一个*表示多长时间,       第三个*表示执行多少次写操作。在一定时间内执行一定数量的写操作时,自动保存快照。可设置多个条件。

              rdbcompression 在进行镜像备份时,是否进行压缩

              Dbfilename 镜像备份文件的文件名

              Dir 数据库镜像备份的文件放置路径

              Slaveof 设置数据库为其他数据库的从数据库 

              Masterauth 主数据库连接需要的密码验证

              Requirepass 设置登录时需要使用的密码

              Maxclients 限制同时连接的客户数量

              Maxmemory 设置redis能够使用的最大内存

              Appendonly 开启append only模式

              appendfsync 设置对appendonly.aof文件同步的频率

              vm-enabled 是否虚拟内存的支持

              vm-swap-file 设置虚拟内存的交换文件路径

              vm-max-memory 设置redis使用的最大物理内存大小

              vm-page-size 设置虚拟内存的页大小

              vm-pages 设置交换文件的总page数量

              vm-max-threads 设置VMIO同时使用的线程数量

              glueoutputbuf 把小的输出缓存存放在一起

              hash-max-zipmap-entries 设置hash的临界值

              activerehashing 重新hash

 

Spring MVC 集成redis配置

    1.首先maven添加一下jar支持

        <dependency>

          <groupId>org.springframework.data</groupId>
         <artifactId>spring-data-redis</artifactId>
         <version>1.4.2.RELEASE</version>
       </dependency>

      <dependency>
          <groupId>redis.clients</groupId>
         <artifactId>jedis</artifactId>
         <version>2.5.1</version>

    </dependency>

 2.在spring-xml 文件中添加一下配置

  <bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"

     p:host-name="192.168.241.132" p:port="6379" p:password="xudong" />

   这里如果设置了密码请一定要把密码参数传递 不然在执行过程中会出现不能授权的情况

 3.创建一个工具类来操作redis

   

@Service
public class RedisService {

//操作redis客户端
private static Jedis jedis;
@Autowired
@Qualifier("jedisConnectionFactory")
private JedisConnectionFactory jedisConnectionFactory;

private RedisService (){}

/**
* 获取一个jedis 客户端
* @return
*/
private synchronized Jedis getJedis(){
if(jedis == null){
return jedisConnectionFactory.getShardInfo().createResource();
}
return jedis;
}

/**
* 通过key删除(字节)
* @param key
*/
public void del(byte [] key){
this.getJedis().del(key);
}
/**
* 通过key删除
* @param key
*/
public void del(String key){
this.getJedis().del(key);
}

/**
* 添加key value 并且设置存活时间(byte)
* @param key
* @param value
* @param liveTime
*/
public void set(byte [] key,byte [] value,int liveTime){
this.set(key, value);
this.getJedis().expire(key, liveTime);
}
/**
* 添加key value 并且设置存活时间
* @param key
* @param value
* @param liveTime
*/
public void set(String key,String value,int liveTime){
this.set(key, value);
this.getJedis().expire(key, liveTime);
}
/**
* 添加key value
* @param key
* @param value
*/
public void set(String key,String value){
this.getJedis().set(key, value);
}
/**添加key value (字节)(序列化)
* @param key
* @param value
*/
public void set(byte [] key,byte [] value){
this.getJedis().set(key, value);
}
/**
* 获取redis value (String)
* @param key
* @return
*/
public String get(String key){
String value = this.getJedis().get(key);
return value;
}
/**
* 获取redis value (byte [] )(反序列化)
* @param key
* @return
*/
public byte[] get(byte [] key){
return this.getJedis().get(key);
}

/**
* 通过正则匹配keys
* @param pattern
* @return
*/
public Set<String> keys(String pattern){
return this.getJedis().keys(pattern);
}

/**
* 检查key是否已经存在
* @param key
* @return
*/
public boolean exists(String key){
return this.getJedis().exists(key);
}
/**
* 清空redis 所有数据
* @return
*/
public String flushDB(){
return this.getJedis().flushDB();
}
/**
* 查看redis里有多少数据
*/
public long dbSize(){
return this.getJedis().dbSize();
}
/**
* 检查是否连接成功
* @return
*/
public String ping(){
return this.getJedis().ping();
}


}

 

 

以上copy可以用

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

   

 

 

 

       

 

posted on 2016-07-08 16:10  徐东2015  阅读(174)  评论(0编辑  收藏  举报