1、windows下怎麼連接redis伺服器配置
1.首先是下載redis在windows下的文件 然後解壓出來放到一個目錄下,開啟一個redis服務 redis包下載
redis-server.exe redis.conf //進入redis目錄 開啟redis服務命令
2.重新開啟一個cmd命令窗口開始鏈接redis服務
redis-cli.exe -h 192.168.12.21 //要連接的redis伺服器
auth 密碼 //auth + 密碼 連接進入redis
2、查看伺服器上有沒有redis的命令
可以根據進程名
ps -ef | grep redis-server
或者根據埠來
netstat -ano | grep 6379
3、Redis如何通過本機客戶端訪問遠程伺服器段
1、Redis默認埠號為127.0.0.1,埠號默認為:6379。
2、假如本機訪問遠程IP為132.1.114.44的計算機,則首先要在已經安裝了Redis的遠程計算機上打開其伺服器,redis.server.exe
3、接下來在本機運行redis.cli.exe,也可以通過命令行實現:輸入-h 遠程計算機IP -p 6379即可連接:
4、接下來如果想用自己寫的客戶端什麼的連接遠程Redis資料庫也只需要輸入遠程計算機的IP就可以了。
4、怎麼重啟伺服器上的redis
如果是用apt-get或者yum install安裝的redis,可以直接通過下面的命令停止/啟動/重啟redis
/etc/init.d/redis-server stop/etc/init.d/redis-server start/etc/init.d/redis-server restart
如果是通過源碼安裝的redis,則可以通過redis的客戶端程序redis-cli的shutdown命令來重啟redis
redis-cli -h 127.0.0.1 -p 6379 shutdown
如果上述方式都沒有成功停止redis,則可以使用終極武器 kill -9
5、如何通過一個伺服器訪問兩一個伺服器的redis
在windows系統下安裝多個Redis實例。伺服器裝有一個Redis實例,隨著項目的進行,需要安裝多個實例才可以。直接安裝是只會有6379埠,需要採用下面的方式來安裝。本示例講解的是:redis-2.4.6-setup-64-bit.exe 和redis-2.8.17 windows MSOpen。工具/原料
Redis安裝文件
CMD命令提示符
方法/步驟
下載安裝文件,選擇穩定版本
點擊安裝exe文件,進行安裝。選擇好路徑,一直到安裝結束即可。
點擊Service查看Redis服務是否正確的安裝。Windows--》Service.msc。默認的埠為6379。服務已啟動。
使用客戶端工具進行連接,出現如下畫面即成功。
使用CMD工具,安裝另一個Redis實例服務,埠為6369. 需要提前建好6369埠使用的conf文件
如:C:\Users\Gray>E:\redis-2.8.17\redis-server.exe --service-install E:\redis-2.8.17\redis6369.conf --service-name RedisServer6369 --port 6369
試驗了幾次都沒有提示成功的信息,但是查看服務成功了,而且用客戶端連接也成功了。
查看6369埠的redis服務
步驟閱讀
7
使用客戶端連接6369 redis服務,出現如下界面表示成功
6、數據怎麼選擇存入哪個從redis伺服器
應用Redis實現數據的讀寫,同時利用隊列處理器定時將數據寫入mysql,此種情況存在的問題主要是如何保證mysql與redis的數據同步,二者數據同步的關鍵在於mysql資料庫中主鍵,方案是在redis啟動時去mysql讀取所有表鍵值存入redis中,往redis寫數據時,對redis主鍵自增並進行讀取,若mysql更新失敗,則需要及時清除緩存及同步redis主鍵。Stringtbname="login";//獲取mysql表主鍵值--redis啟動時longid=MySQL.getID(tbname);//設置redis主鍵值--redis啟動時redisService.set(tbname,String.valueOf(id));System.out.println(id);longl=redisService.incr(tbname);System.out.println(l);Loginlogin=newLogin();login.setId(l);login.setName("redis");redisService.hmset(String.valueOf(login.getId()),login);booleanb=MySQL.insert("insertintologin(id,name)values("+login.getId()+",'"+login.getName()+"')");/****隊列處理器更新mysql失敗:**清除緩存數據,同時主鍵值自減*/if(!b){redisService.delKeyAndDecr(tbname,"Login:"+String.valueOf(login.getId()));}System.out.println(redisService.exists("Login:"+String.valueOf(login.getId())));System.out.println(redisService.get(tbname));
7、兩台伺服器,一個放程序的,一個放資料庫換季,redis裝在哪個伺服器上好
應用Redis實現數據的讀寫,同時利用隊列處理器定時將數據寫入mysql,此種情況存在的問題主要是如何保證mysql與redis的數據同步,二者數據同步的關鍵在於mysql資料庫中
主鍵,方案是在redis啟動時去mysql讀取所有表鍵值存入redis中,往redis寫數據時,對redis主鍵自增並進行讀取,若mysql更新
失敗,則需要及時清除緩存及同步redis主鍵。Stringtbname="login";//獲取mysql表主鍵值--redis啟動時
longid=MySQL.getID(tbname);//設置redis主鍵值--redis啟動時
redisService.set(tbname,String.valueOf(id));System.out.println(id);longl=redisService.incr(tbname);
System.out.println(l);Loginlogin=newLogin();login.setId(l);
login.setName("redis");redisService.hmset(String.valueOf(login.getId()),login);booleanb=MySQL.insert("insertintologin(id,name)values("+login.getId()+",'"+login.getName()+"')");
/****隊列處理器更新mysql失敗:**清除緩存數據,同時主鍵值自減*/if(!b)
{redisService.delKeyAndDecr(tbname,"Login:"+String.valueOf(login.getId()));}System.out.println(redisService.exists("Login:"+String.valueOf(login.getId())));System.out.println(redisService.get(tbname))
8、redis windows下怎麼弄兩個伺服器
在windows系統下安裝多個Redis實例。伺服器裝有一個Redis實例,隨著項目的進行,需要安裝多個實例才可以。直接安裝是只會有6379埠,需要採用下面的方式來安裝。本示例講解的是:redis-2.4.6-setup-64-bit.exe 和redis-2.8.17 windows MSOpen。工具/原料
Redis安裝文件
CMD命令提示符
方法/步驟
下載安裝文件,選擇穩定版本
點擊安裝exe文件,進行安裝。選擇好路徑,一直到安裝結束即可。
點擊Service查看Redis服務是否正確的安裝。Windows--》Service.msc。默認的埠為6379。服務已啟動。
使用客戶端工具進行連接,出現如下畫面即成功。
使用CMD工具,安裝另一個Redis實例服務,埠為6369. 需要提前建好6369埠使用的conf文件
如:C:\Users\Gray>E:\redis-2.8.17\redis-server.exe --service-install E:\redis-2.8.17\redis6369.conf --service-name RedisServer6369 --port 6369
試驗了幾次都沒有提示成功的信息,但是查看服務成功了,而且用客戶端連接也成功了。
查看6369埠的redis服務
步驟閱讀
7
使用客戶端連接6369 redis服務,出現如下界面表示成功
9、如何看伺服器上有沒有redis
ps -aux | grep redis-server
10、redis服務搭建有幾種方式
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伺服器組成一個集群,互相獨立,由集群的前置節點或者客戶端實現將數據分散插入到集群中的各伺服器上
作用:擴大數據存儲的容量,降低單台伺服器負載
步驟
首先准備兩個伺服器
其中兩個伺服器的服務名稱和埠號要不相同,兩個生產的mp.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();
}
進行運行,查看結果
可以進行檢測,6379埠的客戶端是否存在6380埠的key
從圖中可以看出,返回0,說明不存在