redis安装与使用
linux:
1、下载redis
下载redis:
可以在redis的官网下载 :
也可以去谷歌的code下载:
http://code.google.com/p/redis/downloads/list
wget http://redis.googlecode.com/files/redis-2.0..tar.gz
安装:
tar xvzf redis-2.0..tar.gz
cd redis-2.0.
./confiugr
make
windows:
1、猛戳这里就到了开源首页,下载源码包,解压ZIP包后进入msvs\bin\release文件夹有三个文件分别对应32,64位,windows服务三个版本,在这里我们选择64位为例,解压redisbin64.zip 到D:\redis2.4 , 这里主要用到redis-server.exe和redis-cli.exe, redis-server用于运行Redis服务器,redis-cli是命令行客户端,通过它连接Redis服务器,并使用Redis命令进行各种操作.
2、复制源码包根目录下redis.conf到D:\redis2.4,打开CMD命令提示符,输入以下命令启动redis服务
3、启动
redis-server redis.conf
2、配置redis.conf文件
#是否作为守护进程运行
daemonize no
#Redis 默认监听端口
port
#客户端闲置多少秒后,断开连接
timeout
#日志显示级别
loglevel verbose
#指定日志输出的文件名,也可指定到标准输出端口
logfile redis.log
#设置数据库的数量,默认最大是16,默认连接的数据库是0,可以通过select N 来连接不同的数据库
databases
#Dump持久化策略
#当有一条Keys 数据被改变是,900 秒刷新到disk 一次
#save 900 1
#当有10 条Keys 数据被改变时,300 秒刷新到disk 一次
save
#当有1w 条keys 数据被改变时,60 秒刷新到disk 一次
save
#当dump .rdb 数据库的时候是否压缩数据对象
rdbcompression yes
#dump 持久化数据保存的文件名
dbfilename dump.rdb
########### Replication #####################
#Redis的主从配置,配置slaveof则实例作为从服务器
#slaveof 192.168.0.105 6379
#主服务器连接密码 # masterauth <master-password>
############## 安全性 ###########
#设置连接密码 #requirepass <password>
############### LIMITS ##############
#最大客户端连接数
# maxclients 128
#最大内存使用率
# maxmemory <bytes>
########## APPEND ONLY MODE #########
#是否开启日志功能
appendonly no
# AOF持久化策略 #appendfsync always
#appendfsync everysec
#appendfsync no
################ VIRTUAL MEMORY ###########
#是否开启VM 功能
#vm-enabled no
# vm-enabled yes
#vm-swap-file logs/redis.swap
#vm-max-memory 0
#vm-page-size 32
#vm-pages 134217728
#vm-max-threads 4
3、客户端连接
redis-cli -h 服务器 –p 端口 –a 密码
redis-cli.exe -h 127.0.0.1 -p
4、常用的一些服务器管理命令:
info #查看服务器信息 select <dbsize> #选择数据库索引 select 1 flushall #清空全部数据 flushdb #清空当前索引的数据库 slaveof <服务器> <端口> #设置为从服务器 slaveof no one #设置为主服务器 shutdown #关闭服务
Java连接Redis
1、在多线程下使用Jedis
在不同的线程中使用相同的Jedis实例会发生奇怪的错误。但是创建太多的实现也不好因为这意味着会建立很多sokcet连接,也会导致奇怪的错误发生。单一Jedis实例不是线程安全的。为了避免这些问题,可以使用JedisPool, JedisPool是一个线程安全的网络连接池。可以用JedisPool创建一些可靠Jedis实例,可以从池中拿到Jedis的实例。这种方式可以解决那些问题并且会实现高效的性能.
创建JedisPool :
package com.zqgame.bl.pool; import com.zqgame.bl.config.RedisConfig; import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig; public class RedisPool { private static JedisPool jedisPool = null; public static void initialPool(RedisConfig redisConfig) {
try {
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxActive("最大存活时间");
config.setMaxIdle("最大空闲时间");
config.setMaxWait("等待超时时间");
config.setTestOnBorrow(redisConfig.isTestOnBorrow()); jedisPool = new JedisPool(config, redisConfig.getHost(), redisConfig.getPort(),redisConfig.getTimeOut());
}catch (Exception e) {
e.printStackTrace();
}
}
//获取连接
public synchronized static Jedis getJedis() {
try {
if (jedisPool != null) {
Jedis resource = jedisPool.getResource();
return resource;
} else {
return null;
}
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
//释放连接
public static void returnResource(final Jedis jedis) {
if (jedis != null) {
jedisPool.returnResource(jedis);
}
} }
2、redis基本操作:
package com.zqgame.bl.pool; import java.util.Map; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import redis.clients.jedis.Jedis; /**
* redis缓存控制类
* @author zhou
* 2013-7-18
*/
public class RedisDB { private Logger log = LoggerFactory.getLogger(RedisDB.class); private static int REDIS_DB_INDEX = 0;//redis选择数据库 默认16个 0-15 /**
* 查询
* @param userID
* @return
*/
public String get(String userID){
Jedis jedis=null;
String val=null;
try {
jedis = RedisPool.getJedis();
jedis.select(REDIS_DB_INDEX);
val=jedis.get(userID);
} catch (Exception e) {
e.printStackTrace();
log.error("RedisDB get error"+e.getMessage(),e);
}finally{
if(jedis!=null)
RedisPool.returnResource(jedis);
}
return val;
} /**
* 判断是否存在
* @param userID
* @return
*/
public boolean exist(String userID){
Jedis jedis=null;
boolean bool=false;
try {
jedis = RedisPool.getJedis();
jedis.select(REDIS_DB_INDEX);
bool=jedis.exists(userID);
} catch (Exception e) {
e.printStackTrace();
log.error("RedisDB exist error"+e.getMessage(),e);
}finally{
if(jedis!=null)
RedisPool.returnResource(jedis);
}
return bool;
} /**
* 添加缓存
* @param userID
* @param map
*/
public void add(String userID,Map<String,String> m){
addMap(userID, m);
} /**
* 添加缓存
* @param userID 用户ID
* @param val 缓存内容
*/
public void addMap(String userID,Map<String,String> m){
Jedis jedis=null;
try {
jedis = RedisPool.getJedis();
jedis.select(REDIS_DB_INDEX);
//map存入redis
jedis.hmset(userID, m);
} catch (Exception e) {
e.printStackTrace();
log.error("RedisDB add error"+e.getMessage(),e);
}finally{
if(jedis!=null)
RedisPool.returnResource(jedis);
}
} public void del(String userID){
Jedis jedis=null;
try {
jedis = RedisPool.getJedis();
jedis.select(REDIS_DB_INDEX);
//map存入redis
jedis.del(userID);
} catch (Exception e) {
e.printStackTrace();
log.error("RedisDB del error"+e.getMessage(),e);
}finally{
if(jedis!=null)
RedisPool.returnResource(jedis);
}
} }
一些关于redis学习资料:
java web redis使用(二)
redis作为hibernate的二级缓存
在Java中使用Redis —— Spring Data Redis的简易使用
Redis: 三十分钟从入门到精通 - 第一部分
Redis 客户端Jedis使用(一)
Java连接Redis (key-value存储系统)
Redis 安装及配置 (转整理)
Redis 命令参考
redis安装与使用的更多相关文章
- 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语言,在 ...
随机推荐
- Java RMI简单例子HelloWorld
Java RMI 指的是远程方法调用 (Remote Method Invocation).它是一种机制,能够让在某个 Java 虚拟机上的对象调用另一个 Java 虚拟机中的对象上的方法.可以用此方 ...
- word在线编辑\生成图片(包含截图与合并)
1.业务原因 word编辑后的文章复制到html编辑器(fck等)会发生排版错乱的情况,于是混沌了.需要有一个新的方法来终结,于是产生了word能不能在线编辑,后台保存,前台显示灯一系列问题. 2.首 ...
- PrintWriter out = response.getWriter() 输出中文乱码问题
HttpServletResponse response = ServletActionContext.getResponse(); response.setCharacterEncod ...
- 【2012.1.24更新】不要再在网上搜索eclipse的汉化包了!
转自:http://blog.csdn.net/gqqnb/article/details/6412364 2012.1.24更新 增加了“安装方法” eclipse是一个程序开发平台,它本身并不限制 ...
- 圣诞福利到!51Testing邀你一起来狂欢!有礼就是任性~(≧▽≦)/~
“我想变成一棵树,一棵只为你存在的圣诞树,顶上最大最亮的那颗星是我的真心,下面挂满我对你的祝福. 你的关注是我的幸福,你的肯定是我的力量,而我将用更多精彩的内容,用心的分享,给你下一个一整年的 精彩! ...
- WEB安全测试的类型
1.跨站脚本(XSS) XSS又叫CSS(CROSS SET SCRIPT),跨站脚本攻击.它指的是恶意攻击者往WEB页面里插入恶意的html代码,当用户浏览该页面时,嵌入其中的html代码会被执行, ...
- 关于 Unity NavMesh 数据的导出和使用
上周的工作重点转移到服务器寻路上来,刚刚做完没几天,总结一下,当时团队讨论的结果是使用 Unity 原生的 NavMesh 系统,然后将数据导出到服务器使用.我最初的思路是将导出的网格加载到服务器后, ...
- java基础(二十一)IO流(四)
这里有我之前上课总结的一些知识点以及代码大部分是老师讲的笔记 个人认为是非常好的,,也是比较经典的内容,真诚的希望这些对于那些想学习的人有所帮助! 由于代码是分模块的上传非常的不便.也比较多,讲的也是 ...
- 【好文转载c++】 sizeof 使用的经典总结
为了在人面前畅快的吹牛逼,你必须学会背后努力 -----张小二. 写在转载之前: sizeof到底是多少?本来我没有关注,只是有次室友问了我几个sizeof的问题,我被问住了,他当时问我了sizeo ...
- 使用DNSAgent拦截特定域名
开发程序时,为方便测试,需要把本来发往abc.com的数据发到本地. 最简单的方法是直接在程序中修改,把abc.com修改为需要的地址. 但这样提交代码时,容易把调试地址给提交到服务器. 或是嵌入式设 ...