var rdb *redis.client
func
getredis()
else
if(err !=
nil)
else
}
注意err需要判斷兩次在get()中,第一次是redis的空值,資料空。第二次是報錯,連線問題。
記得關閉rdb
pipe := rdb.
pipeline()
incr := pipe.
incr
("pipeline_counter"
)//自增一
pipe.
expire
("pipeline_counter"
, time.hour)
//設定過期時間
_, err := pipe.
exec()
fmt.
println
(incr.
val(
), err)
pipe := rdb.
pipeline()
pipe.
get(
"k1"
)pipe.
get(
"k1"
)pipe.
get(
"k1"
)res,
_:= pipe.
exec()
fmt.
println
(res[:]
)//輸出[get k1: 1 get k1: 1 get k1: 1]
//切片型別
rdb.pipeline()的用法和rdb一樣,只不過它會積攢以後再發,節省傳輸時間。
事務的用法與pipeline一致,加個tx,還有一種函式式的寫法,沒必要。
pipe := rdb.
txpipeline
()
redis集群模式中,主節點資料是不一致的,主從是一致的
redis文件
Golang web 踩坑筆記(3) gin
初學者需要對http協議有所了解,不然是搞不懂get,post這些方法在幹什麼的 註冊路由就是為url路徑註冊乙個方法,使得瀏覽器每次訪問這個路徑,都直接執行這個方法。web框架中常使用restful api,rest與技術無關,代表的是一種軟體架構風格,rest是representational ...
2 R的資料的分類
2.2.2 r的資料的分類 1.numeric數值型 x c 1,2,3,4 xclass x 顯示向量的資料型別 2.integer整數型 x1 as.integer x 將x轉化為整數型資料x1 class x1 3.logical邏輯型 x c 1,2,3,4 x 2 x 2 判斷向量x中大於...
踩坑日記 2
發現乙個專案鏈結glog庫後報錯 undefined reference to gflags flagregisterer flagregisterer char const,char const,char const,bool,bool 考慮到gflags前後版本用的namespace 不一致,於...