java如何操作非关系型数据库redis(-)

redis简单介绍:

是一种Nosql数据库,Nosql全称是Not Only SQL,是一种不同于关系型数据库的数据库管理系统设计方式。对NoSQL最普遍的解释是“非关系型的”,强调Key-Value Stores和文档数据库的优点,而不是单纯的反对RDBMS 

So what can I do with Jedis? 
All of the following redis features are supported: 
•    Sorting 
•    Connection handling 
•    Commands operating on any kind of values 
•    Commands operating on string values 
•    Commands operating on hashes 
•    Commands operating on lists 
•    Commands operating on sets 
•    Commands operating on sorted sets 
•    Transactions 
•    Pipelining 
•    Publish/Subscribe 
•    Persistence control commands 
•    Remote server control commands 
•    Connection pooling 
•    Sharding (MD5, MurmureHash) 
•    Key-tags for sharding 
•    Sharding with pipelining 
•    redis中文官方网站: http://redis.cn/ 
•    redis中文版命令参考: http://redis.readthedocs.org/en/latest/index.html 
•    redis (Win32/64 Dušan Majkić.): https://github.com/dmajkic/redis/downloads 
•    jedis 源码:  https://github.com/xetorthio/jedis 
•    jedis jar: https://github.com/xetorthio/jedis/downloads 

在java程序中,使用redis步骤: 
    下载redis 
redis (Win32/64 Dušan Majkić.):下载地址: https://github.com/dmajkic/redis/downloads 

下载黄线部分
下载完成后,解压

打开黄线文件

起动redis-server.exe就可以进行如下测试了,不过在测试前还需要下载jedis开发包哦,注意在测试时,不要关闭redis-server.exe

注意,在做以下测试时,需要打开redis服务端
下载jedis开发包

jedis-2.1.0.jar是目前最新的开发包,里面增加了许多 新的方法。

如下图示例:

1.将jedis开发包加入到lib目录下

01 Java中使用redis示例程序:
02 Jedis jedis = new Jedis("localhost"6379);
03      
04 jedis.set("foo""bar");
05 String value = jedis.get("foo");
06  
07 测试代码
08 import java.util.Iterator;
09 import java.util.List;
10 import java.util.Set;
11  
12 import redis.clients.jedis.Jedis;
13  
14 public class Test01 {
15     public static void main(String[] args) {
16         // 连接
17         Jedis jedis = new Jedis("localhost"6379);
18         // 对字符串的操作
19  
20         // 给名称为apple的key赋值
21         jedis.set("apple""www.apple.com");
22         // 返回名称为apple的key的value
23         // System.out.println(jedis.get("apple"));
24  
25         // 将value追加到key原来值的末尾
26         // System.out.println(jedis.append("db", "mysql"));
27         // System.out.println(jedis.get("db"));
28  
29         // 若key不存在,即把key设为value
30         // System.out.println(jedis.exists("myphone"));
31         // System.out.println(jedis.append("myphone", "nokia"));
32  
33         // 对list操作
34  
35         // 将student1插入到teacher列表的表头
36         // System.out.println(jedis.lpush("teacher", "student1"));
37         // 将student2插入到teacher列表的表头
38         // System.out.println(jedis.lpush("teacher","student2"));
39         // 返回teacher列表的长度
40         // System.out.println(jedis.llen("teacher"));
41         // 返回teacher列表中的元素,下表从0开始
42         // System.out.println(jedis.lrange("teacher", 0, -1));
43  
44         // java命令遍历
45         /*
46          * List<String> list=jedis.lrange("teacher", 0, -1); for (Iterator
47          * iterator = list.iterator(); iterator.hasNext();) { String string =
48          * (String) iterator.next(); System.out.println(string); }
49          */
50  
51         // set操作
52  
53         // 向名称为dept的set中添加元素,成功返回1,失败返回0,无序
54         System.out.println(jedis.sadd("dept", "张三"));
55         System.out.println(jedis.sadd("dept", "老马"));
56         jedis.sadd("dept", "老马2");
57         jedis.sadd("dept", "老马3");
58         jedis.sadd("dept", "老马4");
59         jedis.sadd("dept", "老马5");
60         jedis.sadd("dept", "老马6");
61         // 返回dept的所有元素
62         // System.out.println(jedis.smembers("dept"));
63         // 遍历
64  
65         /*
66          * Set<String> set=jedis.smembers("dept"); for (Iterator iterator =
67          * set.iterator(); iterator.hasNext();) { String string = (String)
68          * iterator.next(); System.out.println(string); }
69          */
70         // 返回dept中的元素个数
71         System.out.println(jedis.scard("dept"));
72         // 删除【老马】这个元素
73         System.out.println("删除某个元素" + jedis.srem("dept", "老马"));
74         System.out.println(jedis.smembers("dept"));
75  
76         // 有序集(个人理解,有序集,就是有序的set集合)
77  
78         /*
79          * //向class中添加元素,100用于排序 System.out.println(jedis.zadd("class", 100,
80          * "老马")); System.out.println(jedis.zadd("class", 100, "老马dd"));
81          * //若"老马"元素存在,则用88替换以前的数据 jedis.zadd("class", 88, "老马");
82          * //返回"老马"元素的scope值 System.out.println(jedis.zscore("class","老马"));
83          * System.out.println(jedis.zadd("class", 12, "老张"));
84          * //显示class中所有的元素(元素按scope从小到大排列)
85          * System.out.println(jedis.zrange("class", 0, -1)); //返回class中元素的个数
86          * System.out.println(jedis.zcard("class")); jedis.zrem("class",
87          * "老马dd"); System.out.println(jedis.zrange("class", 0, -1));
88          * //显示class中所有的元素(元素按scope从大到小排列)
89          * System.out.println(jedis.zrevrange("class", 0, -1));
90          */
91     }
92 }
93 体会:1.通过引入jedis开发包,可通过java程序操作redis数据库
94 2.  reids提供了多种命令,来操作set,list,zset,string等数据类型,多熟悉,对号入座哦,呵呵
95 3.  与java中提供的操作集合的方法对比学习
96 4.  命令比关系数据库简单,各个元素之间没有关系也可存入,这是NOSQL与关系数据库的一点区别(个人的一点小小体会)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值