Time of Update: 2018-07-25
流程 【testonreturn參數】 JedisPool.returnResource(jedis)->pool.returnObject(jedis)->pool.getTestOnReturn() | |
Time of Update: 2018-07-25
跳躍表是一種有序的資料結構,支援平均O(logN)、最壞O(N)複雜度的節點尋找。跳躍表應用在有序集合鍵和叢集節點的情境上。本文參考Redis3.0版本的源碼,注釋參考了黃建宏的注釋,並加上自己的理解。對於跳躍表和節點的定義是在redis.h中,而常用API的實現是在t_zset.c中。 定義: /* * 跳躍表 */typedef struct zskiplist { // 表前端節點和表尾節點 struct zskiplistNode *header, *tail;
Time of Update: 2018-07-25
Redis入門操作筆記 上傳解壓make進入檔案夾安裝到指定檔案夾make PREFIX=/usr/local/ridis install進入/usr/local/ridis可以看見bin目錄裡邊有redis-cli和redis-service等進入/home/docker/redis/redis-4.0.1(解壓目錄)賦值redis-conf檔案到安裝目錄cp redis.conf /usr/local/ridis啟動redis伺服器進入:cd
Time of Update: 2018-07-25
Redis + Keepalived主從叢集的搭建及容錯移轉 設計思路: 當 Master 與 Slave 均運作正常時, Master負責服務,Slave負責Standby; 當 Master 掛掉,Slave 正常時, Slave接管服務,同時關閉主從複製功能; 當 Master 恢複正常,則從Slave同步資料,同步資料之後關閉主從複製功能,恢複Master身份,於此同時Slave等待Master同步資料完成之後,恢複Slave身份。 然後依次迴圈。
Time of Update: 2018-07-26
原因:與Yii的redis的database配置參數有關 'authRedis' => array( "class" => "framework.vendors.yiiredis.ARedisConnection", "hostname" => "127.0.0.1", "port" => 6379,
Time of Update: 2018-07-26
使用普通賬戶安裝 Redis 服務 開始安裝 這裡使用 2.8 版本的 Redis 進行安裝,考慮到安全性,安裝使用普通賬戶,redis 普通賬戶安裝指令碼我已經製作成指令碼。該指令碼比較長,這裡就不貼出來了,有興趣的朋友可以在我的 github 項目上下載這個指令碼:install_redis.sh,指令碼使用方式: ./install_redis.sh redis_pack_director [port] 如果不設定連接埠,port 預設設定為
Time of Update: 2018-07-26
(error) DENIED Redis is running in protected mode because protected mode is enabled Redis protected-mode 是3.2 之後加入的新特性,在Redis.conf的注釋中,我們可以瞭解到,他的具體作用和啟用條件 連結redis 時只能通過本地localhost (127.0.0.1)這個來連結,而不能用網路ip(192.168..)這個連結,問題然如果用網路ip
Time of Update: 2018-07-26
傳統資料庫的ACID Atomicity 原子性 事務裡面的所有操作要麼全部做完,要麼都不做,事務成功的條件是事務裡的所有操作都成功,只要有一個操作失敗,整個事務就失敗,需要復原。 Consistency 一致性 資料庫要一直處於一致的狀態,事務的運行不會改變資料庫原本的一致性約束。 Isolation 獨立性
Time of Update: 2018-07-26
pom.xml 引入redis 開啟緩衝 <!-- cache --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-cache</artifactId> </dependency>
Time of Update: 2018-07-26
在玩 Redis 的時候,常常會碰 Redis 的 redis.conf 設定檔,它的作用很大,能夠配置很多功能,下面我就來詳細介紹下 redis.conf 檔案內容。 redis.conf 檔案位置 Units 單位 INCLUDES 包含 GENERAL 通用 daemonize yes daemonize 意思為:後台運行。 如果不配置為後台運行,那麼將無法部署叢集 pidfile /var/run/redis.pid
Time of Update: 2018-07-26
沒有安裝gcc make[2]: Entering directory `/redis/redis-2.8.7/deps/hiredis' cc -c -std=c99 -pedantic -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb net.c make[2]: cc: Command not found 解決辦法: yum install gcc-c++ 沒安裝tcl make[1
Time of Update: 2018-07-26
東西不多賣 秒殺系統需要保證東西不多賣,關鍵是在多個用戶端對庫存進行減操作時,必須加鎖。Redis中的Watch剛好可以實現一點。首先我們需要擷取當前庫存,只有庫存中的食物小於購物車的數目才能對庫存進行減。在高並發的情況下會出現某時刻查詢庫存夠的,但下一時刻另外一個線程下單了,對庫存進行減操作,剛好小於上個線程的購物車數目。照理現在的狀態是不能下單成功的,因為庫存已經不夠了,但上一線程仍然認為數量還夠,對庫存進行減操作,從而導致庫存出現負數的情況。如何避免。 Redis
Time of Update: 2018-07-25
Apache的shiro 要使用自訂的cache要自己實現 cacheManager 和 Cache 這兩個介面 Shiro has three important cache interfaces: CacheManager Cache CacheManagerAware A CacheManager returns Cache instances and various Shiro
Time of Update: 2018-07-25
安裝JDK並配置環境變數 1.下載JDK 2.解壓 tar xzf jdk-7u79-linux-x64.tar.gz 3.配置環境變數(配置完成之後需要重啟) 用文字編輯器開啟/etc/profile 在profile檔案末尾加入: export JAVA_HOME=/usr/share/jdk1.7.0_79 export PATH=$JAVA_HOME/bin:$PATH export
Time of Update: 2018-07-26
問題描述: 由於redis-cli命令沒有設定到PATH中, 每次想使用時, 都需要執行find命令去找這個命令在哪裡 # find / -name redis-cli找到之後, 再執行命令, 這樣實在太麻煩 解決方案: 將redis-cli命令配置到PATH中, 這樣每次使用時, 就像ls這種命令一樣不加路徑執行 # vi ~/.bash_profile將redis-cli命令路徑配置到PATH中
Time of Update: 2018-07-26
1、在ubuntu系統安裝redis $sudo apt-get update$sudo apt-get install redis-server 2、啟動redis $ redis-server 3、查看redis是否啟動 $ redis-cliredis 127.0.0.1:6379> pingPONG ------------------------------------------------------------
Time of Update: 2018-07-26
部署Nginx 部署Redis 安裝Redis redis事物 伺服器管理命令 慢查詢日誌 主從複製 Redis-Sentinel cluser分區叢集 安裝python 操作redis資料 部署Django程式
Time of Update: 2018-07-26
豐富的資料結構使得redis的設計非常的有趣。不像關係型資料庫那樣,DEV和DBA需要深度溝通,review每行sql語句,也不像memcached那樣,不需要DBA的參與。redis的DBA需要熟悉資料結構,並能瞭解使用情境。 下面舉一些常見適合kv資料庫的例子來談談索引值的設計,並與關係型資料庫做一個對比,發現關係型的不足之處。 使用者登入系統 記錄使用者登入資訊的一個系統, 我們簡化業務後只留下一張表。 關係型資料庫的設計
Time of Update: 2018-07-26
Windows下Redis安裝 下載windows版本redis或者github下載 解壓下載的壓縮包即為下圖的內容: 啟動的三種方式: 進入downloads檔案夾選擇需要的版本解壓進入檔案夾: 第一種方式不加設定檔方式: 雙擊redis-server.exe;或者在目前的目錄 ctrl+按一下滑鼠
Time of Update: 2018-07-26
源碼版本:4.0.1 源碼位置: intset.h:資料結構的定義 intset.c:建立、增刪等操作實現 1. 整數集合簡介 intset是Redis記憶體資料結構之一,和之前的 sds、 skiplist、dict、adlist 等通用資料相比,它是Redis特有的,用來實現Redis的Set結構(當元素較小且為數字類型時),它的特點有: 元素類型只能為數字。 元素有三種類型:int16_t、int32_t、int64_t。