若是已經安裝能夠忽略,沒有安裝的執行官網命令便可安裝
git
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
複製代碼
brew install redis
複製代碼
Homebrew安裝的軟件會默認在/usr/local/Cellar/路徑下;
redis的配置文件redis.conf存放在/usr/local/etc路徑下。
複製代碼
一般咱們會經過配置文件啓動redis,而不是直接啓動redis,因此進入到/usr/local/etc
經過命令過濾並複製一份配置文件出來github
// 默認端口仍是6379,因此文件名爲reids-6379.conf
cat redis.conf | grep -v "#" |grep -v "^$" > reids-6379.conf
複製代碼
更配配置文件中的端口號,從而達到經過多個配置文件啓動多個redisredis
這裏咱們更改的命令有
daemonize no "更改成" daemonize yes // 後臺啓動redis
logfile "" "更改成" logfile "6379.log" // 日誌文件
dir "更改成" dir /usr/local/var/db/redis/ // log文件你本身想放哪裏都行,本身方便。
複製代碼
方法一: brew除了能夠幫助咱們安裝軟件之外,還能夠幫助咱們啓動軟件
brew services start redis
方法二:
redis-server /usr/local/etc/redis.conf
複製代碼
咱們能夠經過下面命令查看redis是否正在運行
數組
ps axu | grep redis
複製代碼
redis默認端口號6379,默認auth爲空,輸入如下命令便可鏈接
ruby
redis-cli -h 127.0.0.1 -p 6379
複製代碼
優雅的關閉 redis-cli shutdown 或者殺死 sudo pkill redis-server
或這使用 kill -s 9 xxxxx號 殺死指定服務
複製代碼
redis默認是前臺啓動,若是咱們想以守護進程的方式運行(後臺運行)
能夠在redis.conf中將daemonize no,修改爲yes便可。
複製代碼
Redis 數據類型(5中經常使用)bash
String
複製代碼
HashMap
複製代碼
LinkedList
複製代碼
HashSet
複製代碼
TreeSet
複製代碼
set key value
複製代碼
注意:數據添加成功會返回 ok
app
get key
複製代碼
注意:獲取的數據若是存在會返回數據,不存在返回 null
curl
del key
複製代碼
注意:刪除的數據存在而且刪除成功會返回 1,刪除的數據不存在返回 0
優化
mset key1 value1 key2 value2 ...
複製代碼
mget key1 key2 ...
複製代碼
strlen key
複製代碼
append key value
複製代碼
注意: 返回值是追加後的字符串長度
ui
關於單條指令操做與多條指令操做的選擇,一般考慮業務場景,數據量小一次幾條數據的採用單條指令沒問題,若是一次發送數據上百萬上億的。選擇多條指令並要對數據進行切割,否則請求時間也是比較長的,咱們將一百萬條數據切割爲十條十萬的數據在進行多條指令存儲
存儲的困惑
對象類數據的存儲若是有較頻繁的更新需求操做會顯得很笨重
對一系列存儲的數據進行編組,方便管理,典型應用存儲對象信息
複製代碼
一個存儲空間保存多個鍵值對數據
複製代碼
底層使用哈希表結構實現數據存儲
複製代碼
hash存儲結構優化:
hset key field value // 存儲
複製代碼
hmset key fiedl1 value1 fiedl2 value2 ...
複製代碼
hget key field // 獲取指定field的值
hgettall key // 獲取全部的
複製代碼
hmget key field1 field2 ...
複製代碼
hdel key field1 field2
複製代碼
hlen key
複製代碼
hexists key field // 存在返回1,不然返回0
複製代碼
hkeys key // 獲取當前表中全部的字段
hvals key // 獲取當前表中全部的字段值
複製代碼
hincrby key field increment // 設置指定表中指定字段的數值增長increment
hincrbyfloat key field increment //設置指定表中指定字段的數值增長increment(能夠爲小數)
複製代碼
hsetnx key field value
複製代碼
注意事項:
2的32次冪 - 1
個鍵值對持續總結更新中