redis 所有的資料庫都儲存在伺服器結構的 db 陣列中。redis.h/redisserver
typedef
struct redisdb redisdb;
struct redisserver ;
typedef
struct redisclient redisclient;
redis> select1ok
// 此時 redis 客戶端的 db 指標將指向第二個資料庫,即 redisserver 結構中 db 陣列的第二個元素
ok
redis> rpush l1 "1"
"2""3"
(integer) 3
redis> hmset user1 name
"coderjiang" age "28" *** "1"ok
此時,已經在編號為 1 的資料庫中,建立鍵值對:
# 內部結構表示如下(僅為方便表示內部資料狀態,並非真實c內部資料狀態):
redisdb =
}}
使用命名:expire 或者 pexpire 命令,設定鍵的過期時間
redis> set k1 "v1"
// 設定鍵 k1 的值為 "v1"
okredis> expire k1 3
// 設定鍵 k1 在 3 秒後過期
(integer) 1
redis> get k1// 3秒之內執行
"v1"
redis> ttl k1// 檢視鍵 k1 還有幾秒過期
2redis> get k1// 3秒之後執行
(nil)
儲存過期時間結構 redisdb 中屬性 exipres 儲存著鍵的過期時間。惰性刪除
當乙個鍵過期後,redis 不會主動刪除,並**記憶體;只有當程式在取鍵時,判斷是否過期,執行**操作。定期刪除
每個一段時間執行一次刪除過期鍵操作,並限制操作執行的時長和頻率,較少刪除操作對 cpu 的占用。redis 結合使用以上兩種過期鍵刪除策略
Redis深入之路(十四)
redis 的 sort 命令可以對,列表鍵,集合鍵,有序集合鍵進行排序 redis rpush ints 354 21 integers 5 預設按照數字大小進行公升序排序 redis sort ints 1 2 3 4 5 使用降序排序 redis sort ints desc 5 4 3 2 ...
FPGA 學習之路(八)深入理解狀態機
什麼是狀態機 狀態機通過不同的狀態遷移來完成特定的邏輯操作 時序操作 狀態機的分類 moore型狀態機和mealy型狀態機 moore型 狀態機的變化只與當前的狀態有關 mealy型 狀態機的變化不僅與當前的狀態有關,還與輸入有關 如何建立狀態機 狀態機的建立可以分為一段式,兩段式和三段式 一段式 ...
Python開發之路(八)
一 異常處理 try和except 釋義 try是讓程式先試著執行try下的 如果不報錯就走這條 except是一旦try下的 在執行過程中報錯,就走except這條。例如一段 try print 11111 l l 2 int a print 222222 except exception as ...