# 一、基於string型別操作
# 設定獲取key
set hello world
get hello
# mset(multi)支援批量設定key、mget支援批量獲取key
mset hello1 world1 hello2 world2
mget hello1 hello2
# 設定乙個key,並指定過期時間
setex hello3 5 world
# 使用incr來進行累加操作
set pv 1
incr pv
# 二、基於hash型別操作
# 記住:大key、小key
# 設定hash的指定字段
hset userinfo userid 1
hset userinfo username zhangsan
# 將hash的字段獲取
hget userinfo userid
# 獲取hash中所有的key
hkeys userinfo
# 獲取hash中所有的key和value
hgetall userinfo
# 刪除userinfo下的userid
hdel userinfo userid
# 三、操作list型別
# push往列表的頭部插入資料
node1:6379> lpush list 1 2 3 4
(integer) 4
# range表示取指定範圍的元素(0--1表示獲取資料的元素)
node1:6379> lrange list 0 -1
# 四、操作set型別
# 4.1 新增元素
sadd set_test 1
sadd set_test 1 2 3 4
# smembers key
# 返回集合中的所有成員
# scard key
# 獲取集合的成員數
# 4.2 獲取所有的元素
smembers set_test
# 4.3 獲取元素的個數
scard set_test
# 要使用set結構來儲存**的uv
sadd uv:2020-01-01 001 002 003
scard uv:2020-01-01
# 五、針對key的操作
# 5.1 刪除乙個key,對應的資料結構
del list
# 5.2 判斷set_test這個key是否存在
exists set_test
# 返回1表示存在,返回0表示不存在
# node1:6379> exists set_test
# (integer) 1
# node1:6379> exists set_test1
# (integer) 0
# 六、針對zset(有序set)的操作
# 6.1 向zset中新增頁面的pv值
zadd pv 100 page1.html 200 page2.html 300 page3.html
# 6.2 獲取一共有幾個頁面
# zcard key
zcard pv
# 6.3 要給page1.html頁面增加pv值
# zincrby key increment member
zincrby pv 10 page1.html
# 6.4 建立兩個儲存pv的zset:
zadd pv_zset1 10 page1.html 20 page2.html
zadd pv_zset2 5 page1.html 10 page2.html
zinterstore pv_zset_result 2 pv_zset1 pv_zset2
# 6.7 獲取zset中的所有成員
# zrange key start stop [withscores]
zrange pv_zset_result 0 -1 withscores
# 6.8 求page1.html在頁面pv中的排名(最小)
# 預設是按照公升序統計 0, 1, 2,3 ...,從小到大排列
# zrank key member
zrank pv_zset_result page1.html
# 6.9 求page1.html在頁面pv中的排名(最大)
# zrevrank key member
# 注意:這個操作效率很高,並不是重新排序,只是把zset反轉(revert)即可
zrevrank pv_zset_result page1.html
# 注意:
# 1. 排名是zrank是基於從小到大排列的,zrevrank是基於從大到小排列
# 2. 排名是從0開始,0代表第一名
# 七、bitmap操作
# 6.10 uid=0,5,11,15,19
# 使用bitmap來儲存使用者是否訪問過**
setbit unique:users:2020-01-01 0 1
setbit unique:users:2020-01-01 5 1
setbit unique:users:2020-01-01 11 1
setbit unique:users:2020-01-01 15 1
setbit unique:users:2020-01-01 19 1
#setbit unique:users:2020-01-01 1000000 1
# 6.11 獲取指定使用者是否訪問過**
# getbit key offset
getbit unique:users:2020-01-01 0
# 6.12 統計2020-01-01這一天一共有多少使用者訪問了**
# bitcount key [start end]
bitcount unique:users:2020-01-01 0 -1
# 6.13 計算2020-01-01與2020-01-02的所有訪問**的使用者
# bitop operation destkey key [key, …]
setbit unique:users:2020-01-02 0 1
setbit unique:users:2020-01-02 6 1
setbit unique:users:2020-01-02 12 1
# 取or操作
bitop or unique:users:or:2020-01-01_02 unique:users:2020-01-01 unique:users:2020-01-02
# 取數量
bitcount unique:users:or:2020-01-01_02 0 -1
# 八、hyperloglog操作
# pfadd key userid, userid...
# pfcount key
# 需求:
# 求某個**的uv值
pfadd taobao:uv:2020-01-01 1
pfadd taobao:uv:2020-01-01 2
pfadd taobao:uv:2020-01-01 1
# 獲取uv的值(去重後的)
pfcount taobao:uv:2020-01-01
redis基礎操作
1 新增redis到windows服務 redis server service install redis.windows.conf loglevel verbose redis server.exe service install redis.conf loglevel verbose 2 re...
redis的基礎操作
插入 單次插入 set key value 多次插入 mset key1 value1 key2 value2 設定帶時效性 setex key time value 追加值 查詢 單次查詢 get key 多次查詢 mget key1 key2 key 3刪除 支援多個刪除 del redis命令...
Redis基礎3(redis字典操作)
importredis conn redis.redis host 192.168.131.129 port 6379,password 123456 存值 conn.hset k4 name 123 conn.hset k4 age 66 取值 取單個值 val conn.hget k4 name...