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

jopen 12年前

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

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

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

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

打开黄线文件

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

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

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

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

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

如下图示例:

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

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

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

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中的元素个数