標籤:man tor 設定 png sha 分享圖片 nihao 3.2 發送請求
1.簡介
Redis是完全開源的ANSI C語言編寫、遵守BSD協議,高效能的key-value資料庫。
1.1特點
- Redis支援資料的持久化,可以將記憶體中的資料儲存在磁碟中,重啟的時候可以再次載入進行使用。
- Redis不僅僅支援簡單的key-value類型的資料,同時還提供list,set,zset,hash等資料結構的儲存。
- Redis支援資料的備份,即master-slave模式的資料備份。
1.2優勢
- 效能極高 – Redis能讀的速度是110000次/s,寫的速度是81000次/s 。
- 豐富的資料類型 – Redis支援二進位案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 資料類型操作。
- 原子 – Redis的所有操作都是原子性的,意思就是要麼成功執行要麼失敗完全不執行。單個操作是原子性的。多個操作也支援事務,即原子性,通過MULTI和EXEC指令包起來。
2.安裝 2.1windows安裝
在 https://github.com/MicrosoftArchive/redis/releases下下載Redis-x64-3.2.100.zip。
將下載的包移動到c盤下,建立redis檔案夾,將壓縮包在redis檔案夾下解壓。
開啟一個 cmd 視窗 使用cd命令切換目錄到 C:\redis 運行 redis-server.exe redis.windows.conf 。
C:\redis> redis-server.exe redis.windows.conf _._ _.-``__ ‘‘-._ _.-`` `. `_. ‘‘-._ Redis 3.2.100 (00000000/0) 64 bit .-`` .-```. ```\/ _.,_ ‘‘-._ ( ‘ , .-` | `, ) Running in standalone mode |`-._`-...-` __...-.``-._|‘` _.-‘| Port: 6379 | `-._ `._ / _.-‘ | PID: 11604 `-._ `-._ `-./ _.-‘ _.-‘ |`-._`-._ `-.__.-‘ _.-‘_.-‘| | `-._`-._ _.-‘_.-‘ | http://redis.io `-._ `-._`-.__.-‘_.-‘ _.-‘ |`-._`-._ `-.__.-‘ _.-‘_.-‘| | `-._`-._ _.-‘_.-‘ | `-._ `-._`-.__.-‘_.-‘ _.-‘ `-._ `-.__.-‘ _.-‘ `-._ _.-‘ `-.__.-‘[11604] 24 Nov 11:04:00.253 # Server started, Redis version 3.2.100
這時候另啟一個cmd視窗,原來的不要關閉,不然就無法訪問服務端了。
切換到redis目錄下運行 redis-cli.exe -h 127.0.0.1 -p 6379 。
設定索引值對 set myKey abc
取出索引值對 get myKey
C:\redis>redis-cli.exe -h 127.0.0.1 -p 6379127.0.0.1:6379> set mykey yaohongOK127.0.0.1:6379> get mykey"yaohong"127.0.0.1:6379>
3.配置
3.1擷取配置
#CONFIG GET *
3.2便捷配置
#CONFIG SET loglevel "notice"
4.資料類型
Redis支援五種資料類型:string(字串),hash(雜湊),list(列表),set(集合)及zset(sorted set:有序集合)。
5.命令 5.1基本命令
啟動redis用戶端
C:\redis>redis-cli127.0.0.1:6379>
檢測redis服務是否啟動
127.0.0.1:6379> PINGPONG
串連遠程
C:\redis>redis-cli -h 127.0.0.1 -p 6379 -a "mypass"
redis 127.0.0.1:6379>redis 127.0.0.1:6379> PING
5.2鍵(key)
增:SET keyname redis ---key後面跟key的名稱和key的值
刪:del keyname
改:EXPIRE yhkey 60 ---修改key的到期時間、EXPIRE以秒計算、 PEXPIRE 以毫秒計算
ttl myname -----修改key永不到期
rename key yhkey9
查:keys * 查詢所有key
keys yh* 過濾出包含yh的key
exists keyname 判斷key是否存在
pttl mekey尋找key的剩餘時間
5.3Redis-String
#增
127.0.0.1:6379> SET keyname2 "hello myname is yaohong, what is your name?"OK
#查127.0.0.1:6379> GET keyname2"hello myname is yaohong, what is your name?"
#截取字串127.0.0.1:6379> GETRANGE keyname2 2 14"llo myname is"127.0.0.1:6379> keys *1) "keyname2"2) "yhkey1"3) "yhkey9"4) "yhkey3"5) "keyname1"6) "yhyhkey"7) "mykey"
#同時擷取多個字串127.0.0.1:6379> GET yhkey1 yhkey3(error) ERR wrong number of arguments for ‘get‘ command127.0.0.1:6379> MGET yhkey1 yhkey31) "redis"2) "redis"127.0.0.1:6379>
5.4Redis-Hash
增:hmset(同時將多個file-value設定到hash表中)、hget
刪:hdel
查:hget、hgetall、hkey擷取hash表中所有域(file)、
hmget myhash file1 file2 file3(返回雜湊表中,一個或多個給定欄位的值)
hvals擷取雜湊表中所有值
判:hexists 判斷是否存在
hlen擷取file個數
5.5Redis-List
Redis列表是簡單的字串列表,按照插入順序排序。你可以添加一個元素到列表的頭部(左邊)或者尾部(右邊)
增:lpush(頭部插入元素)、rpush(尾部插入元素)
刪:lpop(移除列表第一個元素)、rpop(移除列表最後一個元素)、lrem keyname count value(count大於0從頭部開始刪除value元素)
查:llen(擷取列表長度)、lreng key start stop(擷取start到stop的元素)
改:lset、rset
5.6Redis-Set
增:sadd、
sunionstore myset myset1 myset2 命令將給定集合的並集儲存在指定的集合 myset中
刪:spop移除集合中隨機數
srem按值移除集合中元素
查:smembers、scard(擷取成員數)、
sdiff(列出第一個集合擁有,第二個集合沒有的元素)、
sdiffstore(將第一個集合擁有,第二個集合沒有的元素儲存到第三個集合中)、
sinter(列出兩個集合的交集)
smembers列出集合所有成員
改:smove myset1 myset2 "key1" 將key1從myset1移到myset2
判:sismember 判斷元素是否是key的成員
5.7Redis-ZSet
Redis 有序集合和集合一樣也是string類型元素的集合,且不允許重複的成員。
增:zadd keyname scoren value
刪:zrem keyname nember 移除有序集合中的一個或多個成員
zremrangebylex key min max 移除有序集合中給定的字典區間的所有成員。
zremrangebyrank key start stop 移除有序集合中給定的排名區間的所有成員
zremrangebyscore key min max 移除有序集合中給定的分數區間的所有成員
查:zcard 擷取集合的成員數
zcount key min max 計算在有序集合中指定區間分數的成員數
zrange key start stop WITHSCORES 通過索引區間返回有序集合成指定區間內的成員
5.8事務
Redis 事務可以一次執行多個命令
開始事務:MULTI
執行事務:EXEC
取消事務:DISCARD 取消事務,放棄執行事務塊內的所有命令
監視事務:WATCH 監視一個(或多個) key ,如果在事務執行之前這個(或這些) key 被其他命令所改動,那麼事務將被打斷
取消監視:UNWATCH 取消 WATCH 命令對所有 key 的監視。
5.9指令碼
Eval 命令使用 Lua 解譯器執行指令碼。
5.10伺服器
Redis 伺服器命令主要是用於管理 redis 服務。
統計參數:INFO
重設 INFO 命令中的某些統計資料:config resetstat
鍵數:dbsize
刪除所有key:flushall
刪除當前資料庫key:flushdb
非同步儲存資料到硬碟:save
6.Redis進階6.1Redis 資料備份與恢複
備份:save
恢複:1:將產生的rdb檔案移動到 redis 安裝目錄(執行config get dir)並啟動服務即可
建立 redis 備份檔案也可以使用命令 BGSAVE,該命令在後台執行。
6.2Redis 安全
設定密碼:config set requirepass "itnihao"
auth itnihao擷取密碼:CONFIG get requirepass
6.3Redis 效能測試6.4Redis 用戶端串連
查看最大串連數:config get maxclients
設定最大串連數:redis-server --maxclients 100000
6.5Redis 管道技術
Redis 管道技術可以在服務端未響應時,用戶端可以繼續向服務端發送請求,並最終一次性讀取所有服務端的響應。
6.6Redis 分區
分區是分割資料到多個Redis執行個體的處理過程,因此每個執行個體只儲存key的一個子集。
key-value類型儲存資料庫--Redis