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的依赖(不是必须) ...
随机推荐
- C51中的xdata
今天在写公司芯片对应的.H文件时,在定义寄存器的时候出现一个问题. 我们芯片的寄存器地址是定义在片外RAM区的,不能使用sfr这样的关键字来进行定义. 后来查阅了对应的资料才发现定义寄存器有很多种方法 ...
- shell中的cat和文件分界符(<<EOF) (转)
原文地址: http://blog.csdn.net/mosesmo1989/article/details/51123257 在shell中,文件分界符(通常写成EOF,你也可以写成FOE或者其他任 ...
- 安卓 onTouch OnTouchEvent onChick 顺序
韩梦飞沙 韩亚飞 313134555@qq.com yue31313 han_meng_fei_sha 分发触摸事件 -> 在 触摸 时候 -> 在触摸事件时候->在点击时候 ...
- 洛谷 P1115 最大子段和
P1115 最大子段和 题目描述 给出一段序列,选出其中连续且非空的一段使得这段和最大. 输入输出格式 输入格式: 输入文件maxsum1.in的第一行是一个正整数N,表示了序列的长度. 第2行包含N ...
- 2017-2018-1 JAVA实验站 冲刺 day06
2017-2018-1 JAVA实验站 冲刺 day06 各个成员今日完成的任务 小组成员 今日工作 完成进度 张韵琪 进行工作总结.博客.小组成员头像 100% 齐力锋 找背按钮声音 100% 张浩 ...
- poj 2342 && hdu 1520 树形dp
题意:有n个人,接下来n行是n个人的价值,再接下来n行给出l,k说的是l的上司是k,这里注意l与k是不能同时出现的 链接:点我 dp[i][1] += dp[j][0], dp[i][0] += ma ...
- 【转载】Unicode 编码表
转载备忘:Unicode 编码表 具体请移步: http://www.cnblogs.com/chenwenbiao/archive/2011/08/17/2142718.html
- [转]JSONObject,JSONArray使用手册
您的评价: 收藏该经验 这两个是官网的API JSONObject API JSONArray API 里面有这两个类的所有方法,是不可多得的好材料哦~ 配合上面的API ...
- Codeforces Round #348 (VK Cup 2016 Round 2, Div. 2 Edition) B. Little Artem and Grasshopper 模拟题
B. Little Artem and Grasshopper 题目连接: http://www.codeforces.com/contest/669/problem/B Description Li ...
- IOS发送Email的两种方法
IOS系统框架提供的两种发送Email的方法:openURL 和 MFMailComposeViewController.借助这两个方法,我们可以轻松的在应用里加入如用户反馈这类需要发送邮件的功能. ...