在java中使用redis很简单,只需要添加jedist.jar,通过它的api就可以了。而且,api和redis的语法几乎完全相同。以下简单的测试:

参考:http://www.runoob.com/redis/redis-java.html

 package com.test.redis;

 import org.junit.Test;
import redis.clients.jedis.Jedis; import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set; /**
* 学习使用redis
* Created by Administrator on 2016/2/19.
*/
public class HelloRedis {
private static final Jedis jedis = new Jedis("127.0.0.1",6379); public static void main(String[] args) {
jedis.set("test","Hello Redis");
String test = jedis.get("test");
System.out.println(test);
jedis.del("test");
} /**
* 一些操作
*/
@Test
public void testOption(){
//查看redis是否运行
System.out.println(jedis.ping());
String s = jedis.flushDB();
System.out.println("清空后:"+s); System.out.println(jedis.echo("foo")); jedis.set("foo","存储变量foo");
Boolean is = jedis.exists("foo");
System.out.println("foo是否存在:"+is); Set<String> keys = jedis.keys("*");
System.out.println("数据库中所有的keys:"+keys); Set<String> keys1 = jedis.keys("f*");
System.out.println("数据库中以 f 为前缀的keys"+keys1); String foo = jedis.type("foo");
System.out.println("foo的类型:"+foo); jedis.del("foo");
} /**
* jedis存储字符串
*/
@Test
public void testString(){
jedis.flushDB();
//--添加数据--
jedis.set("name","miao");
System.out.println("取出name:"+jedis.get("name")); //取出元数据,并修改
String name = jedis.getSet("name", "被取出后修改");
System.out.println("取出:"+name+" 修改:"+jedis.get("name"));
String name1 = jedis.getrange("name", 0,5 );
System.out.println("获取value值并截取(中文容易乱码):"+name1);
//--覆盖--
jedis.set("name","覆盖了");
System.out.println("取出重设置后的name:"+jedis.get("name"));
//拼接
jedis.append("name"," be stronger!");
System.out.println("拼接后的name:"+jedis.get("name")); jedis.del("name");
System.out.println("删除后的name:"+jedis.get("name"));
//设置多个
jedis.mset("name","miao","age","25","birth","1991-02-22");
jedis.incr("age");//+1
System.out.println(jedis.get("name")+"-"+jedis.get("age")+"-"+jedis.get("birth"));
jedis.del("name","age","birth");
} /**
* redis操作map
*/
@Test
public void testMap(){
jedis.flushDB();
//--添加数据--
Map<String,String> map = new HashMap<>();
map.put("name","miao");
map.put("age","35");
map.put("birth","1991-02-33");
jedis.hmset("user",map);
//取出
List<String> user = jedis.hmget("user","name","age","birth");
System.out.println(user);
Map<String, String> user1 = jedis.hgetAll("user");//取出user
System.out.println("user1="+user1);
// jedis.del("user"); //删除某个属性
jedis.hdel("user","birth");
System.out.println(jedis.hmget("user","name","age","birth"));
Long count = jedis.hlen("user");//user的属性的个数
System.out.println("属性个数:"+count);
Boolean is = jedis.exists("user");//是否存在
System.out.println("是否存在:"+is);
Set<String> ukeys = jedis.hkeys("user");//user的所有属性
System.out.println(ukeys);
List<String> uvals = jedis.hvals("user");//user的所有属性值
System.out.println(uvals); jedis.del("user");
} /**
* redis操作list
*/
@Test
public void testList(){
jedis.flushDB();
//查看
List<String> users = jedis.lrange("users", 0, -1);
System.out.println("list:"+users);
//向左插入
jedis.lpush("users","miao");
jedis.lpush("users","rui");
jedis.lpush("users","feng");
//向右插入
jedis.rpush("users","ming");
jedis.rpush("users","hong");
jedis.rpush("users","xing");
System.out.println("(注意顺序)插入的结果:"+jedis.lrange("users",0,-1));
//长度
Long len = jedis.llen("users");
System.out.println("list长度:"+len);
//子串
System.out.println("取出索引0到1的数据:"+jedis.lrange("users",0,1));
//修改单个值
jedis.lset("users",0,"我变成第一个");
System.out.println("修改单个值后:"+jedis.lrange("users",0,-1));
//获取指定下标的值
String users1 = jedis.lindex("users", 0);
System.out.println("下标0为:"+users1);
//删除指定下标的值
Long lrem = jedis.lrem("users", 0,"我变成第一个");
System.out.println("删除下标0结果:"+lrem+" |"+jedis.lrange("users",0,-1));
//删除区间之外的值
// jedis.ltrim("users",1,2);
//出栈
String users2 = jedis.lpop("users");
System.out.println("左出栈:"+users2+" |"+jedis.lrange("users",0,-1));
String users3 = jedis.rpop("users");
System.out.println("右出栈:"+users3+" |"+jedis.lrange("users",0,-1)); jedis.del("users");
System.out.println(jedis.lrange("users",0,-1));
} /**
* jedis set
*/
@Test
public void testSet(){
//添加
jedis.sadd("user","miao");
jedis.sadd("user","rui");
jedis.sadd("user","feng");
jedis.sadd("user","ming");
jedis.sadd("user","hong");
jedis.sadd("user","xing");
//查看
Set<String> user = jedis.smembers("user");
System.out.println("set: "+user);
//移除
jedis.srem("user","miao");
System.out.println("移除后: "+jedis.smembers("user"));
//判断是否存在
Boolean is = jedis.sismember("user", "rui");
System.out.println("rui是否存在: "+is);
//随机取出一个
String one = jedis.srandmember("user");
System.out.println(one);
System.out.println(jedis.srandmember("user",2));
//返回个数
Long count = jedis.scard("user");
System.out.println("user个数:"+count); jedis.del("user"); } /**
* zset
* 有序的set
*/
@Test
public void testZset(){
jedis.flushDB();
//添加
jedis.zadd("zkey",12.1,"十二");
jedis.zadd("zkey",11.1,"11");
jedis.zadd("zkey",21.1,"20");
jedis.zadd("zkey",41.1,"41");
jedis.zadd("zkey",4,"4");
//查看
Set<String> zkey = jedis.zrange("zkey", 0, -1);
System.out.println("可以看到是以score排序的:"+zkey);
} /**
* 排序
*/
@Test
public void testSort(){
jedis.del("list");
jedis.rpush("list","1");
jedis.rpush("list","4");
jedis.rpush("list","2");
jedis.rpush("list","20");
jedis.rpush("list","5");
jedis.rpush("list","6");
jedis.rpush("list","67");
System.out.println(jedis.lrange("list",0,-1));
System.out.println("排序:"+jedis.sort("list"));
System.out.println("排序不影响原存储:"+jedis.lrange("list",0,-1));
} }

在java中使用redis的更多相关文章

  1. JAVA中使用Redis

    上节讲解了如何在centos上安装redis,点击查看.本节我们学习在java中使用redis.需要将jedis-*.jar添加到classpath(点击下载),如果使用连接池还需要commons-p ...

  2. Redis入门教程(三)— Java中操作Redis

    在Redis的官网上,我们可以看到Redis的Java客户端众多 其中,Jedis是Redis官方推荐,也是使用用户最多的Java客户端. 开始前的准备 使用jedis使用到的jedis-2.1.0. ...

  3. Redis笔记(六):Java中使用Redis

    Java程序使用Redis 添加依赖包 Maven依赖方式 <dependency> <groupId>redis.clients</groupId> <ar ...

  4. java中使用redis --- Hash的简单应用

    1.java代码 public class RedisTest01 { public static void main(String[] args) { // connect redis server ...

  5. Java中的Redis 哨兵高可用性

    让我们探索Redis Sentinel,看看如何在Java上运行它,一起来看看,最近get了很多新知识,分享给大家参考学习.需要详细的java架构思维导图路线也可以评论获取! 什么是Redis哨兵? ...

  6. java中使用 redis (转载)

    jedis是一个著名的key-value存储系统,而作为其官方推荐的java版客户端jedis也非常强大和稳定,支持事务.管道及有jedis自身实现的分布式. 在这里对jedis关于事务.管道和分布式 ...

  7. Redis(2)用jedis实现在java中使用redis

    昨天已经在windows环境下安装使用了redis. 下面准备在java项目中测试使用redis. redis官网推荐使用jedis来访问redis.所以首先准备了jedis的jar包,以及需要依赖的 ...

  8. Java中的Redis应用

    1.配置redis集群   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 <?xml version="1.0" encoding ...

  9. Java中操作Redis

    一.server端安装 1.下载 https://github.com/MSOpenTech/redis 可看到当前可下载版本:redis2.6 下载后的文件为: 解压后,选择当前64位win7系统对 ...

随机推荐

  1. UIAlertController 使用

    iOS 8的新特性之一就是让接口更有适应性.更灵活,因此许多视图控制器的实现方式发生了巨大的变化.全新的UIPresentationController在实现视图控制器间的过渡动画效果和自适应设备尺寸 ...

  2. Android性能优化典范第二季

      Google前几天刚发布了Android性能优化典范第2季的课程,一共20个短视频,包括的内容大致有:电量优化,网络优化,Wear上如何做优化,使用对象池来提高效率,LRU Cache,Bitma ...

  3. IIS负载均衡ARR路由请求到ARR服务器和处理服务器

    .net web 使用IIS ARR(Application Request Route)技术实现web的高性能.高可靠.易扩展及负载均衡.ARR的使用请参考 IIS负载均衡-Application ...

  4. centos 6.5 中部署开源的Lepus(天兔)监控

    这俩天一直在搞mysql数据库和centos.昨天成功的部署完mysql的主从库配置后,自己想了想是否需要个数据库监控,和执行情况的监控软件,于是就去百度上搜了一下,结果就搜到了今天的‘主角’ Lep ...

  5. 作业七:团队项目——Alpha版本冲刺阶段-13

    对项目最后进行了完善. 代码如下: public void chapRule(int Man ,JLabel play,JLabel playTake,JLabel playQ[]){ //当前状态 ...

  6. 一天一小段js代码(no.4)

    最近在看网上的前端笔试题,借鉴别人的自己来试一下: 题目: 写一段脚本,实现:当页面上任意一个链接被点击的时候,alert出这个链接在页面上的顺序号,如第一个链接则alert(1), 依次类推. 有一 ...

  7. Linux下Java开发环境搭建—CentOS下Mysql安装教程

    本人学习Linux时使用的是CentOs5.5版本,在该环境中,Mysql的安装方法有很多种,下面我只讲我这次成功了的方法,作为一个记录,供大家参考,同时给自己做一个笔记. MySQL下载 1.进入网 ...

  8. SlipHover,能感知鼠标方向的图片遮罩效果jQuery插件

    接上一篇博文,介绍完jQuery插件开发后这里上一个自己的作品,也是初次实践,小有成就的感觉. 话说这个插件年前就写好了,然后挂到GitHub,然后就偷偷看着Google Analysis心中暗自激动 ...

  9. flex 阅读器

    遇到很多的困难 首先是 pdf2swf 而后又下载swftools 而后有swfcombine.exe 让制作的swf 文字可选? —— 这应该是很常见的需求啊! 可是我搜索来搜索去都找不到... 搜 ...

  10. Oracle查询DQL脚本记录

    --查询列 Select t.sname,t.ssex,t.class from student t --t 别名; Select *from student t; --* 代表查询表内所有数据 '; ...