在java中使用redis
在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的更多相关文章
- JAVA中使用Redis
上节讲解了如何在centos上安装redis,点击查看.本节我们学习在java中使用redis.需要将jedis-*.jar添加到classpath(点击下载),如果使用连接池还需要commons-p ...
- Redis入门教程(三)— Java中操作Redis
在Redis的官网上,我们可以看到Redis的Java客户端众多 其中,Jedis是Redis官方推荐,也是使用用户最多的Java客户端. 开始前的准备 使用jedis使用到的jedis-2.1.0. ...
- Redis笔记(六):Java中使用Redis
Java程序使用Redis 添加依赖包 Maven依赖方式 <dependency> <groupId>redis.clients</groupId> <ar ...
- java中使用redis --- Hash的简单应用
1.java代码 public class RedisTest01 { public static void main(String[] args) { // connect redis server ...
- Java中的Redis 哨兵高可用性
让我们探索Redis Sentinel,看看如何在Java上运行它,一起来看看,最近get了很多新知识,分享给大家参考学习.需要详细的java架构思维导图路线也可以评论获取! 什么是Redis哨兵? ...
- java中使用 redis (转载)
jedis是一个著名的key-value存储系统,而作为其官方推荐的java版客户端jedis也非常强大和稳定,支持事务.管道及有jedis自身实现的分布式. 在这里对jedis关于事务.管道和分布式 ...
- Redis(2)用jedis实现在java中使用redis
昨天已经在windows环境下安装使用了redis. 下面准备在java项目中测试使用redis. redis官网推荐使用jedis来访问redis.所以首先准备了jedis的jar包,以及需要依赖的 ...
- 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 ...
- Java中操作Redis
一.server端安装 1.下载 https://github.com/MSOpenTech/redis 可看到当前可下载版本:redis2.6 下载后的文件为: 解压后,选择当前64位win7系统对 ...
随机推荐
- php+mysql+apache+nginx
http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 安装mysql rpm -qa | grep mysql ...
- gulp插件(gulp-jmbuild),用于WEB前端构建
源码地址:https://github.com/jiamao/gulp-jmbuild https://github.com/jiamao/gulp-jmbuild gulp-jmbuild gulp ...
- Entity Framework搜索指定字段解决方案
public class Book { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int Id { get; ...
- .NET跨平台实践:用C#开发Linux守护进程(转)
Linux守护进程(Daemon)是Linux的后台服务进程,它脱离了与控制终端的关联,直接由Linux init进程管理其生命周期,即使你关闭了控制台,daemon也能在后台正常工作. 一句话,为L ...
- CSS:谈谈栅格布局
检验前端的一个基本功就是考查他的布局.很久之前圣杯布局风靡一时,这里就由圣杯布局开始,到最流行的bootstrap栅格布局. 圣杯布局 圣杯布局是一种三列布局,两边定宽,中间自适应: * { box- ...
- 《你必须知道的.NET》读书笔记一:小OO有大智慧
此篇已收录至<你必须知道的.Net>读书笔记目录贴,点击访问该目录可以获取更多内容. 一.对象 (1)出生:系统首先会在内存中分配一定的存储空间,然后初始化其附加成员,调用构造函数执行初 ...
- Java使用snakeyaml解析yaml
YAML Yaml是一种"是一个可读性高并且容易被人类阅读,容易和脚本语言交互,用来表达资料序列的编程语言."类似于XML但比XML更简洁,语法详见 http://www.ruan ...
- 打包上传成功, itunes connect 不出现上传的版本
由于有一次感觉build setting 里 code signing identity设置证书有点乱,有些已经用不到了,就想把那些删除 于是我找到了所有证书的那个文件夹(进入所有证书的那个文件夹), ...
- Fiddler (六) 最常用的快捷键
使用QuickExec Fiddler2成了网页调试必备的工具,抓包看数据.Fiddler2自带命令行控制,并提供以下用法. Fiddler的快捷命令框让你快速的输入脚本命令. 键盘快捷键 按ALT+ ...
- Atitit qzone qq空间博客自动点赞与评论工具的设计与实现
Atitit qzone qq空间博客自动点赞与评论工具的设计与实现 Qzone发送评论的原理 首先,有个a标签, <a class="c_tx3" href="j ...