redis在linux下安装并測试(在spring下调用)
官网帮助文档例如以下
Installation
Download, extract and compile Redis with:
$ wget http://download.redis.io/releases/redis-3.0.2.tar.gz
$ tar xzf redis-3.0.2.tar.gz
$ cd redis-3.0.2
$ make
The binaries that are now compiled are available in the src directory. Run Redis with:
$ src/redis-server
Or
$ src/redis-server redis.conf
You can interact with Redis using the built-in client:
$ src/redis-cli
redis> set foo bar
OK
redis> get foo
"bar"
当然前提是你的linux连网了。而且已经安装gcc等c,c++执行环境
然后就能够与spring整合了
maven加上
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.6.2</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
applicationContext.xml分别加上
<!-- 属性文件位置 -->
<bean id="annotationPropertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:config/properties/jdbc.properties</value>
<value>classpath:config/properties/common.properties</value>
<value>classpath:config/properties/log4j.properties</value>
<value>classpath:config/properties/redis.properties</value>
</list>
</property>
</bean>
<!-- 配置redis线程池 -->
<bean id="poolConfig" class="redis.clients.jedis.JedisPoolConfig">
<!-- <property name="maxIdle" value="${redis.pool.maxIdle}" /> <property
name="maxActive" value="${redis.pool.maxActive}" /> <property name="maxWait"
value="${redis.pool.maxWait}" /> -->
<property name="testOnBorrow" value="${redis.pool.testOnBorrow}" />
</bean>
<!-- 连接redis -->
<bean id="connectionFactory"
class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"
p:host-name="${redis.host}" p:port="${redis.port}" p:password="${redis.password}"
p:pool-config-ref="poolConfig" />
<!-- redis调用须要的bean -->
<bean id="redisTemplate" class="org.springframework.data.redis.core.StringRedisTemplate">
<property name="connectionFactory" ref="connectionFactory" />
</bean>
redis.properties配置例如以下
redis.pool.maxTotal=100
redis.pool.maxIdle=20
redis.pool.maxWait=1000
redis.pool.testOnBorrow=true
redis.host=10.13.3.101
redis.port=6379
redis.password=
代码例如以下
package com.kugou.security.service.impl; import javax.annotation.Resource; import org.springframework.dao.DataAccessException;
import org.springframework.data.redis.connection.RedisConnection;
import org.springframework.data.redis.core.RedisCallback;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.stereotype.Service; import com.kugou.security.entity.SysUser;
import com.kugou.security.service.SysUserService; @Service
public class SysUserServiceimpl implements SysUserService { @Resource
RedisTemplate<String, SysUser> redisTemplate; public boolean addUser(final SysUser sysUser) {
boolean result = this.redisTemplate.execute(new RedisCallback<Boolean>() {
@Override
public Boolean doInRedis(RedisConnection connection) throws DataAccessException {
RedisSerializer<String> serializer = redisTemplate.getStringSerializer();
byte[] key = serializer.serialize(sysUser.getId());
byte[] name = serializer.serialize(sysUser.getNickname());
return connection.setNX(key, name);
}
});
return result;
} public String get(final String userId) {
String result = redisTemplate.execute(new RedisCallback<String>() {
public String doInRedis(RedisConnection connection) throws DataAccessException {
RedisSerializer<String> serializer = redisTemplate.getStringSerializer();
byte[] key = serializer.serialize(userId);
byte[] value = connection.get(key);
if (value == null) {
return null;
}
String name = serializer.deserialize(value);
return name;
}
});
return result;
}
}
測试例如以下
package test.kugou; import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.transaction.TransactionConfiguration; @RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:config/spring/applicationContext.xml" })
@TransactionConfiguration(transactionManager = "transactionManager", defaultRollback = true)
public class BaseTest {
public void testA(){ }
}
package test.kugou.security.dao.service.impl; import javax.annotation.Resource; import org.junit.Test; import com.kugou.security.entity.SysUser;
import com.kugou.security.service.SysUserService; import test.kugou.BaseTest; public class TestSysUserService extends BaseTest {
@Resource
SysUserService sysUserService;
@Test
public void testRedis(){
SysUser sysUser=new SysUser();
sysUser.setId("aa");
sysUser.setNickname("test");
boolean result=this.sysUserService.addUser(sysUser);
System.out.println(result);
String nickName=this.sysUserService.get("aa");
System.out.println(nickName);
} }
执行成功
redis在linux下安装并測试(在spring下调用)的更多相关文章
- Android下的单元測试
android下的单元測试 在AndroidManifest.xml文件里配置下面信息: 在manifest节点下加入: <!-- 指定測试信息和要測试的包 --> <instrum ...
- 測试JSON RPC远程调用(JSONclient)
#include <string> #include <iostream> #include <curl/curl.h> /* 标题:JSonclient Auth ...
- anaconda环境中---py2.7下安装tf1.0 + py3.5下安装tf1.5
anaconda环境中---py2.7下安装tf1.0 + py3.5下安装tf1.5 @wp20181030 环境:ubuntu18.04, anaconda2, ubuntu系统下事先安装了pyt ...
- Linux下图形界面调试工具kdbg安装及測试
1.Ubuntu系统下安装 Ubuntu系统安装比較方便,直接apt-get即可 apt-get install kdbg 2.centos 安装 首先,在这个地址下下载rpm包.然后使用rpm命令安 ...
- linux mysql 卸载,安装,測试全过程
Mysql卸载 yum remove mysql mysql-server mysql-libs compat-mysql51 rm -rf /var/lib/mysql rm /etc/my.cnf ...
- libmemcached的安装及測试
1.安装memcached ~$ wget http://memcached.googlecode.com/files/memcached-1.2.8.tar.gz. $ tar xvzf lmemc ...
- php集成环境安装与測试
一. 软件下载 1. AppServ 2.5.10包括的软件有Apache.Apache Monitor.PHP.MySQL.PHP-Nuke.phpMyAdmin. 2. 下载地址: http:// ...
- 海量数据插入数据库效率对照測试 ---ADO.NET下SqlBulkCopy()对照LINQ 下InsertAllOnSubmit()
摘要:使用.NET相关技术向数据库中插入海量数据是经常使用操作.本文对照ADO.NET和LINQ两种技术.分别使用SqlBulkCopy()和InsertAllOnSubmit()方法进行操作. 得出 ...
- 在linux系统下安装mysql详解,以及远程调用连接不上mysql的解决方法。
步骤: 1)查看CentOS自带的mysql 输入 rpm -qa | grep mysql 2)将自带的mysql卸载 3)上传Mysql的安装包到linux 4)安装mysql的依赖(不是必须) ...
随机推荐
- centos7 默认进入系统命令行模式修改
systemctl get-default #查看系统启动进入默认模式 systemctl set-default graphical.target #改成默认进入 图形界面模式 systemctl ...
- PlayMaker的Transition和Global Transition
PlayMaker的Transition和Global Transition 在PlayMaker中,Transition是指从一个状态(State)过渡到另外一个状态.它由事件(Event)实现 ...
- JAVA中关于大数问题
这里只是java速成,只限于java语法,包括输入输出,运算处理,字符串和高精度的处理,进制之间的转换等,能解决OJ上的一些高精度题目. 一.样例:java中的输出a+b import java.io ...
- 关于dp骗分
1.样例2.搜索3.大小->贪心:<1>每次选代价最小的两个矩阵 <2> 每次选最大.... ...
- [USACO06FEC]Milk Patterns --- 后缀数组
[USACO06FEC]Milk Patterns 题目描述: Farmer John has noticed that the quality of milk given by his cows v ...
- [BZOJ3992][SDOI2015]序列统计(DP+原根+NTT)
3992: [SDOI2015]序列统计 Time Limit: 30 Sec Memory Limit: 128 MBSubmit: 1888 Solved: 898[Submit][Statu ...
- bzoj 3594
题解见: http://blog.csdn.net/qpswwww/article/details/44407371 收获: 1.对于一个问题,看似不可做,但一定存在一定特点,我们要做的就是找出一些特 ...
- Unity ScriptObject创建Asset文件
创建ScriptObject可以创建带序列化的资源,只保存数据不用绑定在游戏对象上.创建出来的本子资源可以通过资源加载到游戏里使用.这里介绍一下使用Resources加载. 创建好的asset文件也可 ...
- Django Pagination
Django provides a few classes that help you manage paginated data – that is, data that’s split acros ...
- ios/object-c中的UIColor一些比较偏的颜色展示/示例
UIColor blackColor]; [UIColor darkGrayColor]; [UIColor lightGrayColor]; [UIColor grayColor]; [UIColo ...