redis 入門

來源:互聯網
上載者:User

標籤:

1、命令列工具

在windows上巧命令列指令,實在是令人痛苦,本人實在是受不了windows下cmd的笨,powershell的蠢,只能換一個了。

介紹一款cmd工具cmder(github上開源),地址:http://bliker.github.io/cmder/,如,若有更好的工具,請大家告訴一下我,在此,先謝謝。

註:"λ"為cmder工具的標識,後邊指令凡是遇到這個字元,都可以跳過

2、官方下載redis

地址:http://redis.io/download 我下載的是穩定版2.8.19。下載後,解壓下載包到本地目錄,如D:\Programs\redis-2.8.19

3、啟動資料庫服務。 

命令:

redis-server.exe redis.windows.conf

  

4、測試資料庫,

 下邊我們分別建立string,list,hash,至於更進階的,大家自己再深入學習吧

注意:

redis指令以斷行符號作為結束標識,所以後邊不能加標點符號,否則會報錯,或者執行錯誤的指令(即把分號當成指令的一部分)

canssdra指令將分號作為指令結束標識,所以後邊必須加分號“;”,否則認為該指令沒有結束。

λ redis-cli.exe -h 127.0.0.1 -p 6379127.0.0.1:6379> keys *;(empty list or set)127.0.0.1:6379> set name ‘zxh‘;Invalid argument(s)127.0.0.1:6379> set name ‘zxh‘OK
4.1 string

 

C:\Users\zxhλ cd D:\Programs\redis-2.8.19C:\Users\zxhλ d:D:\Programs\redis-2.8.19λ redis-cli.exe -h 127.0.0.1 -p 6379127.0.0.1:6379> KEYS *o*(empty list or set)127.0.0.1:6379> set username ‘zxh‘OK127.0.0.1:6379> get username"zxh"127.0.0.1:6379>
4.2 list 
127.0.0.1:6379> rpush friends ‘zhangsan‘(integer) 1127.0.0.1:6379> rpush friends ‘lisi‘(integer) 2127.0.0.1:6379> rpush friends ‘wangwu‘(integer) 3127.0.0.1:6379> lrange friends 0 -11) "zhangsan"2) "lisi"3) "wangwu"127.0.0.1:6379>
4.3 hash
127.0.0.1:6379> hset companyaddress province bj(integer) 1127.0.0.1:6379> hset companyaddress area haidianqu(integer) 1127.0.0.1:6379> hset companyaddress detail zhongguancun(integer) 1127.0.0.1:6379> hgetall companyaddress1) "province"2) "bj"3) "area"4) "haidianqu"5) "detail"6) "zhongguancun" 
5、下載Client jar

注意,這裡和cassandra不同,沒有使用jdbc驅動,原因,官方不建議使用,而且,jdbc驅動有一些問題,如,新版redis使用jdbc驅動存資料,寫入資料庫的是資料的長度 ,而非資料真實值。

cliendt jar包,我們選擇jedis,位置 branches\mvn-repo\redis\clients\jedis\2.2.0\jedis-2.2.0.jar

或者直接從這裡下載 http://files.cnblogs.com/piaolingzxh/jedis-2.2.0.jar.zip(下載後直接去掉尾碼名.zip就可以了)

6、使用java串連redis

記得引用上邊的jar包,以下是主要java程式碼片段

Jedis redis = new Jedis("localhost", 6379);// 串連redis// Stringredis.append("user", "piaolingzxh");// Listredis.lpush("edu", "xiaoxue", "chuzhong", "gaozhong");// hash key field valueredis.hset("home_address", "province", "henan");redis.hset("home_address", "city", "sanmenxia");redis.hset("home_address", "detail", "what a u doing?");List list = redis.hmget("home_address", "province", "city", "detail");for (int i = 0; i < list.size(); i++) {System.out.println(list.get(i));}System.out.println("OK");
 到資料庫中查看結果
C:\Users\zxhλ cd D:\Programs\redis-2.8.19C:\Users\zxhλ d:D:\Programs\redis-2.8.19λ redis-cli.exe -h 127.0.0.1 -p 6379127.0.0.1:6379> KEYS *o*(empty list or set)127.0.0.1:6379> keys *1) "home_address"2) "edu"3) "user"127.0.0.1:6379> get user"piaolingzxh"127.0.0.1:6379> lrange edu 0 -11) "gaozhong"2) "chuzhong"3) "xiaoxue"127.0.0.1:6379> hgetall home_address 1) "province" 2) "henan" 3) "city" 4) "sanmenxia" 5) "detail" 6) "what a u doing?"
7:Scala 串連 redis8:附redis指令集
串連操作相關的命令quit:關閉串連(connection)auth:簡單密碼認證持久化save:將資料同步儲存到磁碟bgsave:將資料非同步儲存到磁碟lastsave:返回上次成功將資料儲存到磁碟的Unix時戳shundown:將資料同步儲存到磁碟,然後關閉服務遠程服務控制info:提供伺服器的資訊和統計monitor:即時轉儲收到的請求slaveof:改變複製原則設定config:在運行時配置Redis伺服器對value操作的命令exists(key):確認一個key是否存在del(key):刪除一個keytype(key):傳回值的類型keys(pattern):返回滿足給定pattern的所有keyrandomkey:隨機返回key空間的一個keyrename(oldname, newname):重新命名keydbsize:返回當前資料庫中key的數目expire:設定一個key的啟用時間(s)ttl:獲得一個key的啟用時間select(index):按索引查詢move(key, dbindex):移動當前資料庫中的key到dbindex資料庫flushdb:刪除當前選擇資料庫中的所有keyflushall:刪除所有資料庫中的所有key對String操作的命令set(key, value):給資料庫中名稱為key的string賦予值valueget(key):返回資料庫中名稱為key的string的valuegetset(key, value):給名稱為key的string賦予上一次的valuemget(key1, key2,…, key N):返回庫中多個string的valuesetnx(key, value):添加string,名稱為key,值為valuesetex(key, time, value):向庫中添加string,設定到期時間timemset(key N, value N):大量設定多個string的值msetnx(key N, value N):如果所有名稱為key i的string都不存在incr(key):名稱為key的string增1操作incrby(key, integer):名稱為key的string增加integerdecr(key):名稱為key的string減1操作decrby(key, integer):名稱為key的string減少integerappend(key, value):名稱為key的string的值附加valuesubstr(key, start, end):返回名稱為key的string的value的子串對List操作的命令rpush(key, value):在名稱為key的list尾添加一個值為value的元素lpush(key, value):在名稱為key的list頭添加一個值為value的 元素llen(key):返回名稱為key的list的長度lrange(key, start, end):返回名稱為key的list中start至end之間的元素ltrim(key, start, end):截取名稱為key的listlindex(key, index):返回名稱為key的list中index位置的元素lset(key, index, value):給名稱為key的list中index位置的元素賦值lrem(key, count, value):刪除count個key的list中值為value的元素lpop(key):返回並刪除名稱為key的list中的首元素rpop(key):返回並刪除名稱為key的list中的尾元素blpop(key1, key2,… key N, timeout):lpop命令的block版本。brpop(key1, key2,… key N, timeout):rpop的block版本。rpoplpush(srckey, dstkey):返回並刪除名稱為srckey的list的尾元素,並將該元素添加到名稱為dstkey的list的頭部對Set操作的命令sadd(key, member):向名稱為key的set中添加元素membersrem(key, member) :刪除名稱為key的set中的元素memberspop(key) :隨機返回並刪除名稱為key的set中一個元素smove(srckey, dstkey, member) :移到集合元素scard(key) :返回名稱為key的set的基數sismember(key, member) :member是否是名稱為key的set的元素sinter(key1, key2,…key N) :求交集sinterstore(dstkey, (keys)) :求交集並將交集儲存到dstkey的集合sunion(key1, (keys)) :求並集sunionstore(dstkey, (keys)) :求並集並將並集儲存到dstkey的集合sdiff(key1, (keys)) :求差集sdiffstore(dstkey, (keys)) :求差集並將差集儲存到dstkey的集合smembers(key) :返回名稱為key的set的所有元素srandmember(key) :隨機返回名稱為key的set的一個元素對Hash操作的命令hset(key, field, value):向名稱為key的hash中添加元素fieldhget(key, field):返回名稱為key的hash中field對應的valuehmget(key, (fields)):返回名稱為key的hash中field i對應的valuehmset(key, (fields)):向名稱為key的hash中添加元素field hincrby(key, field, integer):將名稱為key的hash中field的value增加integerhexists(key, field):名稱為key的hash中是否存在鍵為field的域hdel(key, field):刪除名稱為key的hash中鍵為field的域hlen(key):返回名稱為key的hash中元素個數hkeys(key):返回名稱為key的hash中所有鍵hvals(key):返回名稱為key的hash中所有鍵對應的valuehgetall(key):返回名稱為key的hash中所有的鍵(field)及其對應的value 

  參考:http://www.cnblogs.com/oubo/archive/2011/09/07/2394568.html

 

redis 入門

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.