关于redis的使用配置:
1.window下:
下载redis的压缩包,解压后运行redis-server.exe文件就可以启动redis的服务了。redis默认是没有密码的,
在实际项目的使用中是需要配置密码的,配置密码可以在redis 的redis.conf文件里进行配置,找到requirepass
将其前面的注释去掉,然后配置密码。例如:requirepass MyRedis。然后在重启服务的时候可以cd到redis的目录,
然后命令启动 redis-server.exe redis.conf 既可以按照我们配置文件启动。
同时redis也自带了命令行的客户端,但是在连接的时候我们可以使用图形化的界面,如RedisDesktopManager 来
进行管理。
2.linux下(ubuntu)
去redis 官网下载reids 安装包, redis 官网默认只提供Linux 的安装包,所以不用担心下载到windows 的安装包.
解压: tar -zxvf redis-3.2.1.tar.gz
进入解压后的目录,并执行编译操作: make test
编译测试结束后,出现以下信息,证明没有问题:编译的命令放在src目录下
编译成功之后,执行install操作即可:sudo make install
目前redis 已经安装成功了redis 的相关命令都存放在../redis-3.2.1/src 目录下,同时在/usr/local/bin/
目录下生成了对应的文件。
参考地址:http://blog.csdn.net/zgf19930504/article/details/51850594
问题
linux下安装的时候出现了找不到包的问题,根据 提示在对应的目录下建立相应的文件可以解决问题。
关于redis的使用:
java操作redis,在springmvc框架里有一个管理工具 Spring-data-redis为spring-data模块中对redis的支持部分,
简称为“SDR”,提供了基于jedis客户端API的高度封装以及与spring容器的整合
spring-data-redis针对jedis提供了如下功能:
1. 连接池自动管理,提供了一个高度封装的“RedisTemplate”类
2. 针对jedis客户端中大量api进行了归类封装,将同一类型操作封装为operation接口
3. 提供了对key的“bound”(绑定)便捷化操作API,可以通过bound封装指定的key,然后进行一系列的操作而无须“显式”的再次指定Key,即BoundKeyOperations
===============================================================================================
springBoot 中使用redis。
springBoot是提倡少使用xml配置文件,所有的功能是可以使用注解来实现的,在进行redis的使用时,首先是进行
基本的连接配置,项目为mavvn文件,然后再pom.xml中添加
org.springframework.boot
spring-boot-starter-redis
该包中封装了对redis 的支持,其中链接配置文件实在application.properties中进行配置的,配置的内容如下
# REDIS (RedisProperties)
# Redis数据库索引(默认为0)
spring.redis.database=0
spring.redis.host=localhost
spring.redis.port=6379
spring.redis.password=MyRedis
spring.redis.pool.max-active=8
spring.redis.pool.max-wait=-1
spring.redis.pool.max-idle=8
spring.redis.pool.min-idle=0
spring.redis.timeout=0
然后新建一个redis的操作类:
package com.augmentum.exam.util;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.ListOperations;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.support.atomic.RedisAtomicLong;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import redis.clients.jedis.Jedis;
@RestController
public class RedisUtil {
@Autowired
private StringRedisTemplate redisTemplate;
//获取自增的id
public String incrementAndGet(String key) {
RedisAtomicLong entityIdCounter = new RedisAtomicLong(key, redisTemplate.getConnectionFactory());
return String.valueOf(entityIdCounter.incrementAndGet());
}
@RequestMapping(value = "/")
public String test() throws Exception {
ListOperations
lop = redisTemplate.opsForList();
lop.leftPush("22","jjh");
Jedis jedis = new Jedis();
StringUtil.print("ok");
return incrementAndGet("hello");
}
}
其中的incrementAndGet方法是可以获取自增的id 的,这个id是不重复(redis是单线程的)