java如何操作非关系型数据库redis
jopen
12年前
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目录下
Java中使用redis示例程序: Jedis jedis = new Jedis("localhost",6379); jedis.set("foo", "bar"); String value = jedis.get("foo"); 测试代码 import java.util.Iterator; import java.util.List; import java.util.Set; import redis.clients.jedis.Jedis; public class Test01 { public static void main(String[] args) { // 连接 Jedis jedis = new Jedis("localhost", 6379); // 对字符串的操作 // 给名称为apple的key赋值 jedis.set("apple", "www.apple.com"); // 返回名称为apple的key的value // System.out.println(jedis.get("apple")); // 将value追加到key原来值的末尾 // System.out.println(jedis.append("db", "mysql")); // System.out.println(jedis.get("db")); // 若key不存在,即把key设为value // System.out.println(jedis.exists("myphone")); // System.out.println(jedis.append("myphone", "nokia")); // 对list操作 // 将student1插入到teacher列表的表头 // System.out.println(jedis.lpush("teacher", "student1")); // 将student2插入到teacher列表的表头 // System.out.println(jedis.lpush("teacher","student2")); // 返回teacher列表的长度 // System.out.println(jedis.llen("teacher")); // 返回teacher列表中的元素,下表从0开始 // System.out.println(jedis.lrange("teacher", 0, -1)); // java命令遍历 /* * List<String> list=jedis.lrange("teacher", 0, -1); for (Iterator * iterator = list.iterator(); iterator.hasNext();) { String string = * (String) iterator.next(); System.out.println(string); } */ // set操作 // 向名称为dept的set中添加元素,成功返回1,失败返回0,无序 System.out.println(jedis.sadd("dept", "张三")); System.out.println(jedis.sadd("dept", "老马")); jedis.sadd("dept", "老马2"); jedis.sadd("dept", "老马3"); jedis.sadd("dept", "老马4"); jedis.sadd("dept", "老马5"); jedis.sadd("dept", "老马6"); // 返回dept的所有元素 // System.out.println(jedis.smembers("dept")); // 遍历 /* * Set<String> set=jedis.smembers("dept"); for (Iterator iterator = * set.iterator(); iterator.hasNext();) { String string = (String) * iterator.next(); System.out.println(string); } */ // 返回dept中的元素个数