go redis使用之Hash字典

2021-10-07 15:29:39 字數 2755 閱讀 2735

–> go-redis list列表使用詳解 ?

–> go-redis string字串使用詳解 ?

–>go-redis set集合使用詳解 ?

–>go-redis zset使用詳解 ?

在redis中,hash雜湊被稱為字典(dictionary),redis的字典使用雜湊表作為底層實現

hash更適合用來儲存物件,例如:user,name:張三,age:18 等。。。

func

getredisclient()

*redis.client)}

// redishash hash雜湊表操作

func

redishashtest

(cli *redis.client)

fmt.

printf

("name1:%v\n"

,name1)

// 新垣結衣

// 多個key-value值:hmset、hmget

m:=make

(map

[string

]inte***ce

) m[

"age"]=

18 m[

"address"]=

"japan"

str,err:=cli.

hmset

("user"

,m).

result()

if err !=

nil fmt.

println

(str)

// ok

s1,err:=cli.

hmget

("user"

,"name"

,"age"

,"address").

result()

if err !=

nilfor

_, v :=

range s1

// 獲取hash中的全部資料

m1,err:=cli.

hgetall

("user").

result()

if err !=

nilfor k, v :=

range m1

// 獲取所有key

s2,err:=cli.

hkeys

("user").

result()

if err !=

nilfor

_, s :=

range s2

// 獲取所有value

s3,err:=cli.

hvals

("user").

result()

if err !=

nil fmt.

println

(s3)

// [新垣結衣 18 japan]

// 刪除hash中指定的key,對應的value也就沒了(可以同時刪除多個)

cli.

hdel

("user"

,"address"

,"age"

) fmt.

println

(cli.

hgetall

("user").

val())

// map[name:新垣結衣]

//獲取hash的內容長度

n:=cli.

hlen

("user").

val(

) fmt.

printf

("長度為:%d\n"

,n)// 長度為:1

//判斷hash中是否存在指定的key

b1:=cli.

hexists

("user"

,"name").

val(

)//true

b2:=cli.

hexists

("user"

,"hobby").

val(

)//flase

fmt.

println

(b1,b2)

// hsetnx:儲存乙個key-value,如果存在field,則失敗,不存在新建並儲存

fmt.

println

(cli.

hgetall

("user").

val())

b3,err:=cli.

hsetnx

("user"

,"name"

,"石原裡美").

result()

if err !=

nil fmt.

println

(b3)

// false 儲存失敗

b4,err:=cli.

hsetnx

("user"

,"city"

,"北京").

result()

if err !=

nil fmt.

println

(b4)

// true 儲存成功

fmt.

println

(cli.

hgetall

("user").

val())

// map[city:北京 name:新垣結衣]

}func

main()

go redis使用之List列表

go redis string字串操作詳解?go redis hash雜湊操作詳解?go redis set集合操作詳解?go redis zset有序集合操作詳解?基本的資料型別 list 列表 在redis裡,可以把list作為棧 佇列 阻塞佇列 在redis裡,所有的list命令都是l開頭的 ...

go redis使用之String字串

go redis list列表使用詳解 go redis hash使用詳解 go redis set集合使用詳解 go redis zset有序集合使用詳解 基本型別 字串操作 單個字串最大512m func getredisclient redis.client func redistest cl...

redis 使用go redis實現點讚投票功能

需要記錄的資訊 最後固定時間間隔 採用定時任務 取出 redis 中所有點讚資料存入mysql中或者做持久化。set中的資料特徵是 無序,不重複,所以 如果當前使用者點讚的話,判斷set中是否有此成員。127.0 0.1 6379 sismember like id1 userid1 integer...