java如何操作非关系型数据库redis(-)
来源:互联网 发布:mac markdown 编辑:程序博客网 时间:2024/06/06 18:32
redis简单介绍:
是一种Nosql数据库,Nosql全称是Not Only SQL,是一种不同于关系型数据库的数据库管理系统设计方式。对NoSQL最普遍的解释是“非关系型的”,强调Key-Value Stores和文档数据库的优点,而不是单纯的反对RDBMSSo 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
- java如何操作非关系型数据库redis(-)
- Redis非关系型数据库(上)
- Redis非关系型数据库
- 非关系型数据库Redis
- 非关系型数据库redis(二):Redis配置
- 非关系型数据库redis(三):Redis数据类型
- Redis非关系型数据库的特性(下)
- Redis 非关系型数据库简介
- 非关系型数据库mongodb和redis
- 【redis】关系型数据库 VS 非关系型数据库
- 非关系型数据库redis(一):Centos6.5安装Redis
- 6,redis模拟关系型数据库操作
- 非关系型数据库redis、memcache、mongoDB的对比
- 非关系型内存数据库Redis的基本介绍
- virtualBox下ubuntu系统安装redis非关系型数据库
- MapReduce和关系型数据库的对比以及如何理解规范性数据需要非本地操作
- java 操作redis (非连接池)
- zlt尼玛银行,深度学习Redis(一) 关系型与非关系型数据库使用方式的转变过程
- 提高SCADA系统信息安全(一)
- Unskilled Attackers Pester Real Security Folks
- 正则表达式学习
- php 5.3连接 sqlserver数据库
- Httpload使用
- java如何操作非关系型数据库redis(-)
- 三星Note 2发送不了短信怎么办
- 如何制作一个基于Tile的游戏 Cocos2d-x 2.0.4
- OpenERP重载create方法
- oc学习之旅:自动释放池
- 忙碌的一天结束了
- GC总结
- 神奇的C语言十五:dummy代码?
- 开闭原则