Time of Update: 2018-07-26
Redis簡介 REmote DIctionary Server(遠程字典伺服器),是完全開源免費的,用c語言寫的,遵循BSD協議,是一個高效能(kv)分布式記憶體資料庫,基於記憶體運行並支援持久化的NoSQL資料庫,是當前最熱門的NoSQL資料庫之一,也被人們稱為資料結構伺服器。 Redis的三個特點 1、資料持久化:將記憶體資料儲存到硬碟中,重啟的時候可再次載入使用 2、kv,list,set,zset,hash 3、支援資料備份,即master/slave 模式的資料備份
Time of Update: 2018-07-26
linux機器上安裝redis是非常容易的,這裡不做介紹了。因為要學習主從複製功能,而我手上又只有一台機器,所以就需要在一台機器上啟動多個redis執行個體。我們需要將預設的redis.conf檔案複製一份,然後修改一下對應的設定就可以了,保證多個redis執行個體不出現共用資料就可以了。 #拷貝一份新的設定檔>cp redis.conf redis6001.conf#vi修改對應的配置項>vi redis6001.conf#主要修改下面3個配置項就可以了pidfile :
Time of Update: 2018-07-26
Java連結Redis時出現 “ERR Client sent AUTH, but no password is set” 異常的原因及解決辦法 【錯誤提示】 redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool at redis.clients.util.Pool.getResource(Pool.java:53)
Time of Update: 2018-07-26
對之前的nginx+tomcat的負載平衡機制,因為會出現session丟失的問題,特研究了下redis的session共用;(如果想搭建本環境可從上一篇開始,涉及到nginx的環境搭建http://blog.csdn.net/qq584852076/article/details/46469141) 下載JDK7、tomcat7以備後續測試;
Time of Update: 2018-07-26
高可用Redis服務架構分析與搭建 文章轉自:http://www.cnblogs.com/xuning/p/8464625.html
Time of Update: 2018-07-26
redis支援5種資料類型,分別是String,List,Hash,Set,Zset和Hash。 redis是一個高效能的key-value資料庫,在介紹它的5種資料類型之前,先介紹key的相關命令。 key—鍵 通常用如下的鍵命令來管理redis的鍵: 1 DEL key 該命令用於在key存在時刪除key。 2 DUMP key 序列化給定key,並返回被序列化的值。 3 EXISTS key
Time of Update: 2018-07-26
利用redis解決: 預設已安裝redis 引入jar包 compile group: 'org.springframework.session', name: 'spring-session-data-redis', version: '1.3.1.RELEASE'// https://mvnrepository.com/artifact/biz.paluch.redis/lettucecompile group: 'biz.paluch.redis', name:
Time of Update: 2018-07-26
下面介紹一種基於redis的搶紅包方案。 把原始的紅包稱為大紅包,拆分後的紅包稱為小紅包。 1.小紅包預先產生,插到資料庫裡,紅包對應的使用者ID是null,紅包產生演算法如下: 預先產生所有的紅包還是一個請求隨機產生一個紅包 簡單來說,就是把一個大整數m分解(直接以“分為單位,如1元即100)分解成n個小整數的過程,小整數的範圍是[min, max]。
Time of Update: 2018-07-26
Redis分布式鎖的正確實現方式(Java版) 分布式鎖一般有三種實現方式:1. 資料庫樂觀鎖;2. 基於Redis的分布式鎖;3.
Time of Update: 2018-07-26
業務需求中經常有需要用到計數器的情境:譬如一個手機號一天限制發送5條簡訊、一個介面一分鐘限制多少請求、一個介面一天限制調用多少次等等。使用Redis的Incr自增命令可以輕鬆實現以上需求。以一個介面一天限制調用次數為例: /** * 是否拒絕服務 * @return */private boolean denialOfService(String userId){long count=JedisUtil.setIncr(DateUtil.getDate()+"&"
Time of Update: 2018-07-26
1. redis.conf 配置參數: #是否作為守護進程運行 daemonize yes #如以後台進程運行,則需指定一個pid,預設為/var/run/redis.pid pidfile redis.pid #綁定主機IP,預設值為127.0.0.1 #bind 127.0.0.1 #Redis預設監聽連接埠 port 6379 #用戶端閑置多少秒後,中斷連線,預設為300(秒)
Time of Update: 2018-07-26
package com.juanpi.plugins;import com.juanpi.common.CalendarUtil;import com.juanpi.common.RedisUtil;import java.util.Calendar;import java.util.Iterator;import java.util.Map;import java.util.Set;import net.minidev.json.JSONArray;import
Time of Update: 2018-07-26
redis安裝 在安裝redis之前,需要安裝gcc編譯器。然後從官網下載redis的解壓包,上傳至伺服器指定的目錄,然後解壓、編譯。安裝的時候要指定安裝目錄。 安裝 gcc 編譯器,利用 yum 源進行安裝,如果不能線上安裝,請掛載鏡像,安裝本地 yum源,然後安裝。命令:yum install gcc-c++ 解壓安裝包 命令:tar -zxvf 檔案名稱
Time of Update: 2018-07-26
使用下面的命令進行更新yum源並安裝redis服務: rpm -Uvh http://mirrors.kernel.org/fedora-epel/6/i386/epel-release-6-8.noarch.rpm yuminstall -y redis serviceredis start chkconfigredis on 安裝好之後,我們發現一個比較奇怪的問題(不確定是否與Redis版本有關,CentOS 7.4上沒遇到類似問題):
Time of Update: 2018-07-26
高可用Redis服務架構分析與搭建
Time of Update: 2018-07-26
springboot串連redis並動態切換database 眾所周知,redis多有個db,在jedis中可以使用select方法去動態選擇redis的database,但在springboot提供的StringRedisTemplate中確,沒有該方法,好在StringRedisTemplate預留了一個setConnectionFactory方法,本文主為通過修改ConnectionFactory從而達到動態切換database的效果。
Time of Update: 2018-07-26
以前公司在開發階段串連的Redis一直是正式環境中的,最近老大讓我在搭建一個區域網路內的redis用於開發階段時串連使用,搭建過程中也遇到了一些問題,還好已經解決了,在這裡記錄一下。 首先是搭建redis,這個比較簡單。 1、檢查安裝依賴程式 yum install gcc-c++yum install -y tclyum install wget 2、擷取安裝檔案 wget
Time of Update: 2018-07-26
Redis下載地址,約定版本號碼最後一位偶數為穩定版本,奇數為非穩定版本,我這裡下載的是redis-4.0.8版本 在/usr/local下建立redis目錄,將下載的redis壓縮包上傳至/usr/local/redis目錄下 解壓並安裝(需要注意的是安裝redis需要先將官網下載的源碼進行編譯,編譯依賴gcc環境,如果沒有gcc環境,需要安裝,輸入gcc:yum install gcc-c++命令即可,該命令連網環境下可用) tar -xvzf redis-4.0.8.
Time of Update: 2018-07-26
redis的持久化有rdb和aof兩種。 rdb是記錄一段時間內的操作,一盤的配置是一段時間內操作超過多少次就持久化。 aof可以實現每次操作都持久化。 這裡我們使用aof。 配置方式,開啟redis的設定檔。找到appendonly。預設是appendonly no。改成appendonly yes。 再找到appendfsync 預設是:
Time of Update: 2018-07-26
單純的網路IO來說,量大到一定程度之後,多線程的確有優勢, 但並不是單純的多線程,而是每個線程自己有自己的epoll這樣的模型, 也就是多線程和multiplexing混合。但是。還要考慮Redis操作的是記憶體中的資料結構。如果在多線程中操作,那就需要為這些對象加鎖。 所以使用多線程可以提高效能,但是每個線程的效率嚴重下降了,而且程式的邏輯嚴重複雜化。Redis的資料結構並不全是簡單的Key-Value,