亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

redis服務搭建有幾種方式

redis服務搭建有幾種方式

莫回無 2019-04-15 12:08:35
redis服務搭建有幾種方式
查看完整描述

3 回答

?
神不在的星期二

TA貢獻1963條經驗 獲得超6個贊

redis主從復制集群

實現方式:選擇一臺redis服務器作為master節點(負責寫操作),另外一臺或多臺服務器作為slave節點(負責讀操作),slave節點上的數據完全由master節點同步過來。

作用:降低單節點redis服務器的讀寫負載,將讀寫分離到不同的服務器 提供數據的可用性

配置方式: Master節點不用作任何變動 Slave節點上的配置文件redis.conf需要修改如下配置

#slaveof <masterip> <masterport>改為salveof 127.0.0.1 6379最好讓服務器配成只讀屬性salve-read-only yes123456

要想實現高可用即故障轉移: 需要使用 keepalive

redis數據分片(Sharding)集群

實現方式:由若干臺互不相干的redis服務器組成一個集群,互相獨立,由集群的前置節點或者客戶端實現將數據分散插入到集群中的各服務器上

作用:擴大數據存儲的容量,降低單臺服務器負載

步驟

首先準備兩個服務器  其中兩個服務器的服務名稱和端口號要不相同,兩個生產的dump.rdb文件要在不同的路徑下面,而且第二個服務器不能打開主從服務器的配置,配置如下,要注釋掉該配置

開啟兩個服務器,在后臺運行

后臺運行可以修改如下配置,將daemonize改為yes即可

開啟兩個客戶端 

然后編寫分片集群的代碼

public static void main(String[] args) {        //poolConfig是連接池的配置參數GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig();        //shards是分片集群中所有分片服務器信息列表,JedisShardInfo是分片服務器信息ArrayList<JedisShardInfo> shards = new ArrayList<>();        //將集群中的兩臺shard服務器信息封裝到兩個JedisShardInfo對象中JedisShardInfo shard1 = new JedisShardInfo("192.168.90.131",6379);JedisShardInfo shard2 = new JedisShardInfo("192.168.90.131",6380);        //將分片服務器信息對象添加到分片服務器信息列表shards中shards.add(shard1);shards.add(shard2);        //創建一個帶數據分片功能的jedis連接池ShardedJedisPool shardedJedisPool = new ShardedJedisPool(poolConfig, shards);        //從連接池中獲取一個帶數據分片功能的jedis連接ShardedJedis jedis = shardedJedisPool.getResource();        for (int i=0;i<1000;i++){jedis.set("string-key-"+i,"1000"+i);}jedis.close();shardedJedisPool.close();}123456789101112131415161718192021222324252627282930

進行運行,查看結果 

可以進行檢測,6379端口的客戶端是否存在6380端口的key

 


查看完整回答
反對 回復 2019-04-16
?
繁星coding

TA貢獻1797條經驗 獲得超4個贊

  1. redis是一個key-value存儲系統。和Memcached類似,它支持存儲的value類型相對更多,包括string(字符串)、list(鏈表)、set(集合)和zset(有序集合)。

  2. 這些數據類型都支持push/pop、add/remove及取交集并集和差集及更豐富的操作,而且這些操作都是原子性的。在此基礎上,redis支持各種不同方式的排序。

  3. 與memcached一樣,為了保證效率,數據都是緩存在內存中。區別的是redis會周期性的把更新的數據寫入磁盤或者把修改操作寫入追加的記錄文件,并且在此基礎上實現了master-slave(主從)同步。Redis 是一個高性能的key-value數據庫。

  4. redis的出現,很大程度補償了memcached這類keyvalue存儲的不足,在部分場合可以對關系數據庫起到很好的補充作用。


查看完整回答
?
元芳怎么了

TA貢獻1798條經驗 獲得超7個贊

  Redis是一種高級key-value數據庫。它跟memcached類似,不過數據可以持久化,而且支持的數據類型很豐富。有字符串,鏈表,集 合和有序集合。
  支持在服務器端計算集合的并,交和補集(difference)等,還支持多種排序功能。
  所以Redis也可以被看成是一個數據結構服務器。

查看完整回答
反對 回復 2019-04-16
  • 3 回答
  • 0 關注
  • 1323 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號