Java操作redis简单示例
第一:安装Redis
首先我们要安装Redis,就像我们操作数据库一样,在操作之前肯定要先创建好数据库的环境。
Redis的下载可以百度一下,或者打开下面的下载链接:
https://github.com/MSOpenTech/redis
也可以从我的百度网盘下载,下载链接:
http://pan.baidu.com/s/1pJmaZ71
Redis有Linux版本的也有Windows版本的,我们练习的话一般都是Win版,操作比较简单。下载之后,压缩文件里面有Win 32位的和Win 64位的两个版本,自己根据个人系统进行选择。
第二:解压文件,运行Redis服务


先说一下Redis解压之后我们看到的几个文件的作用:
redis-benchmark.exe:性能测试工具,可以用以模拟同时由N个客户端发送M个 SETS/GETS 查询 (有点像于 Apache 的ab 压力工具).
redis-check-aof.exe:更新日志检查工具
redis-check-dump.exe:本地数据库检查工具
redis-cli.exe:客户端工具
redis-server.exe:服务端工具
redis.conf: Redis的配置文件
其中,红色加粗的是我们经常用到的。
第三:启动Redis服务
两种启动方式:
① 进入到Redis所在目录,按住shift,右击,“在此处打开命令窗口”或者打开cmd,自己cd进去,不过这样比较麻烦

输入: redis-server.exe

这样的话我们的Redis服务就启动了,注意,不要关闭cmd窗口
另外,我们在启动Redis的时候可以给它指定参数文件,格式如下:
redis-server.exe 配置文件路径
例如:
redi-server.exe redis.conf
② 通过配置环境变量直接运行
具体的配置方法如下:


在“变量值”一栏写入你的Redis安装目录即可。配置好环境变量之后只要打开cmd,直接输入redis-server.exe就可以启动服务,就行不用cd的redis的安装目录执行了。
第四:编写java测试代码
①新建java项目
②导入redis包
Redis的jar包下载链接:
jedis-2.1.0.jar http://pan.baidu.com/s/1mgxCyvu
commons-pool-1.5.5.jar http://pan.baidu.com/s/1gdGd0Sb
③编写代码
package com.gf.redisdemo_2; import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Set; import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
import redis.clients.jedis.JedisShardInfo;
import redis.clients.jedis.ShardedJedis;
import redis.clients.jedis.ShardedJedisPool; public class TestRedis { //声明
private Jedis jedis;//非切片额客户端连接
private ShardedJedis shardedJedis;//切片额客户端连接
private JedisPool jedisPool;//非切片连接池
private ShardedJedisPool shardedJedisPool;//切片连接池 //构造
public TestRedis() {
initJedisPool();
initSharededJedisPool();
jedis=jedisPool.getResource();
shardedJedis=shardedJedisPool.getResource();
} //初始化SharededJedisPool
private void initSharededJedisPool() {
//配置参数
JedisPoolConfig config=new JedisPoolConfig();
config.setMaxActive(50);
config.setMaxIdle(5);
config.setMaxWait(2000l);
config.setTestOnBorrow(true);
JedisShardInfo jedisShardInfo=new JedisShardInfo("127.0.0.1", 6379);//地址,端口
List<JedisShardInfo> list=new ArrayList<JedisShardInfo>();
list.add(jedisShardInfo);
shardedJedisPool=new ShardedJedisPool(config, list);
} //初始化JedisPool
private void initJedisPool() {
JedisPoolConfig config=new JedisPoolConfig();
config.setMaxActive(50);
config.setMaxIdle(5);
config.setMaxWait(2000l);
config.setTestOnBorrow(true);
//此处配置与初始化SharededJedisPool用到的代码一样
jedisPool=new JedisPool(config, "127.0.0.1", 6379);
} public void showInfo() {
Date date=new Date();
SimpleDateFormat sdf=new SimpleDateFormat("YYYY年MM月dd日 hh:mm:ss"); System.out.println(">>>>>>>清空数据库:"+sdf.format(date));
System.out.println(jedis.flushDB());
System.out.println(">>>>>>>set:"+sdf.format(date));
System.out.println(shardedJedis.set("name", "zhangsan"));
System.out.println(">>>>>>>get:"+sdf.format(date));
System.out.println(shardedJedis.get("name")); System.out.println(">>>>>>获取所有的键值:"+sdf.format(date));
Set<String> set=jedis.keys("*");
Iterator<String> iterator=set.iterator();
while (iterator.hasNext()) {
String key=iterator.next();
System.out.println(key+",值:"+shardedJedis.get(key));
}
} public static void main(String[] args) {
new TestRedis().showInfo();
} }
可能刚开的时候对Jedis、ShardedJedis、JedisPool、SharededJedisPool的初始化顺序理不清,容易混乱,为此我们声明的时候就按照一定的规律去声明:
Jedis---ShardedJedis JedisPool----ShardJedisPool。
初始化图如下:

根据图示可以看出,我们要初始化Jedis、ShardedJedis就要先创建SharedJedis和ShardedJedisPool,于是有了initJedisPool()和initSharededJedisPool()方法
说明:如果你在启动Redis时使用了配置文件,并且在配置文件里面开启了登陆密码(查找redis.conf的“requirepass 密码”,把注释解掉),如果直接运行以上代码会看到一下错误信息:
们
Java操作redis简单示例的更多相关文章
- java操作redis之jedis篇
首先来简单介绍一下jedis,其实一句话就可以概括的,就是java操作redis的一种api.我们知道redis提供了基本上所有常用编程语言的clients,大家可以到http://redis.io/ ...
- windows下Redis安装及利用java操作Redis
一.windows下Redis安装 1.Redis下载 下载地址:https://github.com/MicrosoftArchive/redis 打开下载地址后,选择版本 然后选择压缩包 下载 R ...
- Redis基础知识、命令以及java操作Redis
1 nosql的概念 sql:操作(关系型)数据库的标准查询语言 关系型数据库(rdbms):以关系(由行和列组成的二维表)模型为核心数据库,有表的储存系统.(mysql.oracle.sqlserv ...
- redis入门到精通系列(四):Jedis--使用java操作redis详解
(一)前言 如果不把数据库和后端语言联系起来,就起不到数据库应该要起到的作用.Java语言通过JDBC操作mysql,用Jedis操作redis.当然了,java操作redis的方式不止jedis一种 ...
- Redis-基本概念、java操作redis、springboot整合redis,分布式缓存,分布式session管理等
NoSQL的引言 Redis数据库相关指令 Redis持久化相关机制 SpringBoot操作Redis Redis分布式缓存实现 Resis中主从复制架构和哨兵机制 Redis集群搭建 Redis实 ...
- java 操作redis
使用Java操作Redis需要jedis-2.1.0.jar,如果需要使用Redis连接池的话,还需commons-pool-1.5.4.jar package com.test; import ja ...
- java操作redis集群配置[可配置密码]和工具类(比较好用)
转: java操作redis集群配置[可配置密码]和工具类 java操作redis集群配置[可配置密码]和工具类 <dependency> <groupId>red ...
- java操作redis集群配置[可配置密码]和工具类
java操作redis集群配置[可配置密码]和工具类 <dependency> <groupId>redis.clients</groupId> & ...
- Linux+Redis实战教程_day02_3、redis数据类型_4、String命令_5、hash命令_6、java操作redis数据库技术
3. redis数据类型[重点] redis 使用的是键值对保存数据.(map) key:全部都是字符串 value:有五种数据类型 Key名:自定义,key名不要过长,否则影响使用效率 Key名不要 ...
随机推荐
- 使用Quartz.NET进行任务调度管理
1.Quartz.NET 介绍 Quartz.NET是一个开源的作业调度框架,是OpenSymphony 的 Quartz API的.NET移植,它用C#写成,可用于winform和asp.net应用 ...
- Oracle 行转列(不固定行数的行转列,动态)(转)
http://bbs.csdn.net/topics/330039676 SQLSERVER :行列转换例子: http://www.cnblogs.com/gaizai/p/3753296.htm ...
- 服务器列表里找不到OracleOraDb10g_home1TNSListener
先安装的ORACLE DB,后配置的数据库,TNSNAMES.ORA, LISTENER.ORA配置完毕,客户端连接不上TNS服务器,发现服务列表里没有OracleOraDb10g_home1TNSL ...
- 【转】IP协议详解之子网寻址、子网掩码、构造超网
子网寻址 1. 从两级IP地址到三级IP地址 <1>. IP地址利用率有时很低. <2>. 给每一个物理网络分配一个网络号会使路由表变得太大而使网络性能变坏. <3> ...
- VisualStudio自动编码插件(Autocode——devprojects.net)
今天无意之中发现了一个VS插件,功能还不错,推荐给大家.官网http://www.devprojects.net/ 有以下一些功能: 智能感知! 快速命令调用,只需按Ctrl +回车 T4和ASPX一 ...
- Orchard中的命令行工具
在Orchard中提供了一个命令行工具,我们可以使用这个命令行工具创建用户.创建博客.生成代码.配置网站.打包模块等.并且这个命令行工具是可以扩充的,只要我们在自己开发的模块中创建一个Command类 ...
- NOIP2016 模拟赛
7.10 T1:求出一个矩阵中平均数大于0的子矩阵的最大面积. T2:给出一个N行的,第I行有n+1-i的倒三角形,从中选取m个数,只有当前数的左上角和右上角都被选是才能选当前数,求选的数字的最大和 ...
- Singleton Design Pattern
The Singleton pattern is one of the simplest design patterns, which restricts the instantiation of a ...
- Excel中如何过滤复选框 How to filter checkbox column in Excel
有个笨笨的小伙伴最近老跟Excel过不去. 她新加了一列checkbox,还想filter别人有没有选.写代码又不会,怎么办. 1. 首先,加这个checkbox 2. 然后新建一列,把这个check ...
- DirectShow开发快速入门之慨述
摘要:本篇文档概括性的介绍了DirectShow的主要组成部分,以及一些Directshow的基本概念.熟悉这些基本的知识对于Directshow的应用开发或者过滤器的开发者都会有所帮助. Direc ...