Key-Value資料庫 Redis

來源:互聯網
上載者:User

Redis是開源NoSQL中Key-Value資料庫的代表,採用C語言開發,遵循BSD License。支援記憶體、磁碟持久化儲存,同時它具有非常豐富的資料類型,包括字串、鏈表、有序集合等。高可用性方面內建主從架構,叢集功能正在開發當中,非常值得期待。瞭解到它的強大,讓我們首先來安裝和體驗這款NoSQL資料庫。 工具/原料

OS:CentOS6.2 64bit

Software:Redis yum安裝 1

由於CentOS沒有內建redis的repository,首先我們下載第三方fedora repository:

wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

rpm -ivh epel-release-6-8.noarch.rpm


2

安裝redis:yum install redis

查看redis安裝項:find / -name *redis*







3

啟動redis服務:redis-server /etc/redis.conf



4

驗證redis服務:telnet localhost 6379

set kin 1

get kin END

源碼安裝

下載源碼安裝包:

yum install tcl #redis需要安裝tcl

yum install gcc #編譯需要gcc

yum install jemalloc-devel

cd /usr/local/src

wget http://download.redis.io/releases/redis-2.8.9.tar.gz

tar xvzf redis-2.8.9.tar.gz

cd redis-2.8.9

make #編譯

make install #安裝

將設定檔複製到/etc目錄下:

cp redis.conf /etc/

vi /etc/redis.conf

daemonize no => daemonize yes

啟動redis服務:

redis-server /etc/redis.conf




驗證redis服務:

redis-cli ping

PONG

redis-cli

set kin 1

get kin
以下內容參考文章:http://doc.redisfans.com/set/srandmember.html SRANDMEMBER

SRANDMEMBER key [count]

如果命令執行時,只提供了 key 參數,那麼返回集合中的一個隨機元素。

從 Redis 2.6 版本開始, SRANDMEMBER 命令接受可選的 count 參數: 如果 count 為正數,且小於集合基數,那麼命令返回一個包含 count 個元素的數組,數組中的元素各不相同。如果 count 大於等於集合基數,那麼返回整個集合。 如果 count 為負數,那麼命令返回一個數組,數組中的元素可能會重複出現多次,而數組的長度為 count 的絕對值。

該操作和 SPOP 相似,但 SPOP 將隨機元素從集合中移除並返回,而 SRANDMEMBER 則僅僅返回隨機元素,而不對集合進行任何改動。 可用版本: >= 1.0.0 時間複雜度: 只提供  key 參數時為 O(1) 。 如果提供了  count 參數,那麼為 O(N) ,N 為返回數組的元素個數。 傳回值: 只提供  key 參數時,返回一個元素;如果集合為空白,返回  nil 。 如果提供了  count 參數,那麼返回一個數組;如果集合為空白,返回空數組。

# 添加元素redis> SADD fruit apple banana cherry(integer) 3# 只給定 key 參數,返回一個隨機元素redis> SRANDMEMBER fruit"cherry"redis> SRANDMEMBER fruit"apple"# 給定 3 為 count 參數,返回 3 個隨機元素# 每個隨機元素都不相同redis> SRANDMEMBER fruit 31) "apple"2) "banana"3) "cherry"# 給定 -3 為 count 參數,返回 3 個隨機元素# 元素可能會重複出現多次redis> SRANDMEMBER fruit -31) "banana"2) "cherry"3) "apple"redis> SRANDMEMBER fruit -31) "apple"2) "apple"3) "cherry"# 如果 count 是整數,且大於等於集合基數,那麼返回整個集合redis> SRANDMEMBER fruit 101) "apple"2) "banana"3) "cherry"# 如果 count 是負數,且 count 的絕對值大於集合的基數# 那麼返回的數組的長度為 count 的絕對值redis> SRANDMEMBER fruit -101) "banana"2) "apple"3) "banana"4) "cherry"5) "apple"6) "apple"7) "cherry"8) "apple"9) "apple"10) "banana"# SRANDMEMBER 並不會修改集合內容redis> SMEMBERS fruit1) "apple"2) "cherry"3) "banana"# 集合為空白時返回 nil 或者空數組redis> SRANDMEMBER not-exists(nil)redis> SRANDMEMBER not-eixsts 10(empty list or set)

以下內容參考文章:http://blog.csdn.net/yhl27/article/details/9936189 [Redis] redis-cli 命令總結

Redis提供了豐富的命令(command)對資料庫和各種資料類型進行操作,這些command可以在Linux終端使用。

在編程時,比如使用Redis 的Java語言套件,這些命令都有對應的方法。下面將Redis提供的命令做一總結。

 

官網命令列表:http://redis.io/commands (英文)

 

1、串連操作相關的命令

 

quit:關閉串連(connection)

auth:簡單密碼認證

2、對value操作的命令

 

exists(key):確認一個key是否存在

del(key):刪除一個key

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.