CentOS7下部署 Redis3

來源:互聯網
上載者:User

CentOS7下部署 Redis3

CentOS7 之 Redis3 學習筆記

1 Redis 官網:
http://www.redis.io/

2 Redis 的:
http://download.redis.io/releases/redis-3.0.7.tar.gz
這裡我們下載的是 redis-3.0.7.tar.gz

3 Redis 的簡介:
Redis is an open source (BSD licensed), in-memory data structure store, used as database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs and geospatial indexes with radius queries. Redis has built-in replication, Lua scripting, LRU eviction, transactions and different levels of on-disk persistence, and provides high availability via Redis Sentinel and automatic partitioning with Redis Cluster.
這段話來源於 Redis 的官網,這個是不是最有說服力!?^_^

4 我們可以通過 SecureCRT 或 XShell 串連至 CentOS7 伺服器,並進入到 /usr/local/tools/ 目錄中:
cd cd /usr/local/tools/
如果沒有此目錄,則建立,這個目錄主要用於存放我們下載的一些安裝包:
mkdir -p /usr/local/tools/

5 下載 redis-3.0.7.tar.gz 源碼:
wget http://download.redis.io/releases/redis-3.0.7.tar.gz
也可以點擊官網的 http://download.redis.io/releases/redis-3.0.7.tar.gz 地址現在下載到本機,然後通過 SecureFXP 上傳到 /usr/local/tools/ 目錄;

6 將 redis-3.0.7.tar.gz 源碼解壓縮:
tar xzf redis-3.0.7.tar.gz

7 編譯 Redis 源碼:
 進入到 Redis 的根目錄 redis-3.0.7 中:
cd redis-3.0.7
執行編譯命令:
make

8 我們來啟動一下 Redist 伺服器吧:
src/redis-server
 shell 給我們如下反饋,則表明 redis 服務啟動成功:
1206:C 04 May 05:48:48.344 # Warning: no config file specified, using the default config. In order to specify a config file use ./redis-server /path/to/redis.conf
 _._
 _.-``__ ''-._
 _.-`` `. `_. ''-._ Redis 3.0.7 (00000000/0) 64 bit
 .-`` .-```. ```\/ _.,_ ''-._
 ( ' , .-` | `, ) Running in standalone mode
 |`-._`-...-` __...-.``-._|'` _.-'| Port: 6379
 | `-._ `._ / _.-' | PID: 1206
 `-._ `-._ `-./ _.-' _.-'
 |`-._`-._ `-.__.-' _.-'_.-'|
 | `-._`-._ _.-'_.-' | http://redis.io
 `-._ `-._`-.__.-'_.-' _.-'
 |`-._`-._ `-.__.-' _.-'_.-'|
 | `-._`-._ _.-'_.-' |
 `-._ `-._`-.__.-'_.-' _.-'
 `-._ `-.__.-' _.-'
 `-._ _.-'
 `-.__.-'

 1206:M 04 May 05:48:48.347 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
 1206:M 04 May 05:48:48.347 # Server started, Redis version 3.0.7
 1206:M 04 May 05:48:48.347 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
 1206:M 04 May 05:48:48.347 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
 1206:M 04 May 05:48:48.355 * DB loaded from disk: 0.008 seconds
 1206:M 04 May 05:48:48.355 * The server is now ready to accept connections on port 6379
說明:redis 的預設連接埠號碼為 6379,我們可以看到當前的 redis 的 PID 為 1206,處於單機運行狀態;src 目錄下的 redis-server 表示 redis 服務端命令;

9 只啟動了 redis 的服務端並沒有什麼具體的意義,那我們開始啟動 redis 的用戶端,來體驗一下 redis 的魅力所在:
src/redis-cli
 src 下的 redis-cli 表示 redis 啟動用戶端的命令;

10 由於 redis 是由 C 語言開發,我們看一下 redis 支援的資料類型都有哪些,
String(字串)
APPEND
 BITCOUNT
 BITOP
 DECR
 DECRBY
 GET
 GETBIT
 GETRANGE
 GETSET
 INCR
 INCRBY
 INCRBYFLOAT
 MGET
 MSET
 MSETNX
 PSETEX
 SET
 SETBIT
 SETEX
 SETNX
 SETRANGE
 STRLEN
 Hash(雜湊表)
HDEL
 HEXISTS
 HGET
 HGETALL
 HINCRBY
 HINCRBYFLOAT
 HKEYS
 HLEN
 HMGET
 HMSET
 HSET
 HSETNX
 HVALS
 HSCAN
 List(列表)
BLPOP
 BRPOP
 BRPOPLPUSH
 LINDEX
 LINSERT
 LLEN
 LPOP
 LPUSH
 LPUSHX
 LRANGE
 LREM
 LSET
 LTRIM
 RPOP
 RPOPLPUSH
 RPUSH
 RPUSHX
 Set(集合)
SADD
 SCARD
 SDIFF
 SDIFFSTORE
 SINTER
 SINTERSTORE
 SISMEMBER
 SMEMBERS
 SMOVE
 SPOP
 SRANDMEMBER
 SREM
 SUNION
 SUNIONSTORE
 SSCAN
 SortedSet(有序集合)
ZADD
 ZCARD
 ZCOUNT
 ZINCRBY
 ZRANGE
 ZRANGEBYSCORE
 ZRANK
 ZREM
 ZREMRANGEBYRANK
 ZREMRANGEBYSCORE
 ZREVRANGE
 ZREVRANGEBYSCORE
 ZREVRANK
 ZSCORE
 ZUNIONSTORE
 ZINTERSTORE
 ZSCAN

11 redis 文檔的中文翻譯網站:
http://doc.redisfans.com/
有不明白的或遺忘的可以來這裡查看;

12 redis 的基本資料單位為 SDS(simple dynamic string),其是在 C 語言的 char[] 數組之上封裝的,用於儲存基本的資料;

13 set 與 get 字串:
 我們向 redis 伺服器插入一個字串類型的資料:
127.0.0.1:6379> set name 'idea'
 shell 反饋給我們的結果如下:
OK
我們查看一下剛剛插入到 redis 伺服器的 key 為 name 的 value :
127.0.0.1:6379> get name
 shell 反饋給我們的結果如下:
"idea"

14 我們做一個自增序列:
14.1 設定一個 key 為 orderid 序列,給其初始值為 10000:
incrby orderid 10000
 14.2 逐次執行遞增操作:
incr orderid
查看 shell 反饋給我們的結果,是不是 redis 在以 1 的步長間隔遞增?

15 我們做一個列表操作:
15.1 向 List 中自左向右加入 5 個整數:
127.0.0.1:6379> lpush nums 10 20 30 40 50
 shell 反饋給我們的結果如下:
(integer) 5
 15.2 我們從右側取值,執行 5 次下面的命令,並查看 shell 的反饋:
127.0.0.1:6379> rpop nums
 "10"
 127.0.0.1:6379>
 127.0.0.1:6379> rpop nums
 "20"
 127.0.0.1:6379> rpop nums
 "30"
 127.0.0.1:6379> rpop nums
 "40"
 127.0.0.1:6379> rpop nums
 "50"
 127.0.0.1:6379> rpop nums
 (nil)
 127.0.0.1:6379> rpop nums
 (nil)
當執行第 6 次的時候,取不到值了,這像不像資料結構中的“堆”?
15.3 我們從左側取值,執行 5 次下面的命令,並查看 shell 的反饋:
127.0.0.1:6379> lpop nums
 "50"
 127.0.0.1:6379> lpop nums
 "40"
 127.0.0.1:6379> lpop nums
 "30"
 127.0.0.1:6379> lpop nums
 "20"
 127.0.0.1:6379> lpop nums
 "10"
 127.0.0.1:6379> lpop nums
 (nil)
當執行到第 6 次後,也是取不到值了,樣子還是很像資料結構中的“堆”的嘛!

下面關於Redis的文章您也可能喜歡,不妨參考下:

Ubuntu 14.04下Redis安裝及簡單測試

Redis主從複製基本配置

Redis叢集明細文檔

Ubuntu 12.10下安裝Redis(圖文詳解)+ Jedis串連Redis

Redis系列-安裝部署維護篇

CentOS 6.3安裝Redis

Redis安裝部署學習筆記

Redis設定檔redis.conf 詳解

Redis 的詳細介紹:請點這裡
Redis 的:請點這裡

相關文章

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.