java如何操作非關系型數據庫redis

jopen 12年前發布 | 62K 次閱讀 Redis NoSQL數據庫

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中的元素個數

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!