redis安裝
sudo apt-get install redis-server
redis基本配置文件
/lib/systemd/system/redis-server.service
/etc/redis/redis.conf --主要的配置文件,包含ip/端口/數(shù)據(jù)文件地址/日志地址/守護進程等
基本配置
在源文件/usr/local/redis目錄下,文件redis.conf為配置文件
綁定地址:如果需要遠程訪問,可將此行注釋
bind 127.0.0.1
端口,默認為6379
port 6379
是否以守護進程運行
如果以守護進程運行,則不會在命令行阻塞,類似于服務(wù)
如果以非守護進程運行,則當前終端被阻塞,無法使用
推薦改為yes,以守護進程運行
daemonize no|yes
數(shù)據(jù)文件
dbfilename dump.rdb
數(shù)據(jù)文件存儲路徑
dir的默認值為./,表示當前目錄
推薦改為:dir /var/lib/redis
使用配置文件方式啟動
直接運行redis-server會直接運行,阻塞當前終端
一般配置文件都放在/etc/目錄下
sudo cp /usr/local/redis/redis.conf /etc/redis/
推薦指定配置文件啟動
sudo redis-server /etc/redis/redis.conf
停止redis服務(wù)
ps ajx|grep redis
sudo kill -9 redis的進程id
數(shù)據(jù)操作
- redis是key-value的數(shù)據(jù),所以每個數(shù)據(jù)都是一個鍵值對
- 值的類型分為五種:
- 字符串string
- 哈希hash
- 列表list
- 集合set
- 有序集合zset
全部命令參照 redis中文官網(wǎng)
String基本命令
設(shè)置鍵值
set key value
設(shè)置鍵值及過期時間,以秒為單位
SETEX key seconds value
設(shè)置多個鍵值
MSET key value [key value ...]
根據(jù)鍵獲取值,如果不存在此鍵則返回(nil)
GET key
根據(jù)多個鍵獲取多個值
MGET key [key ...]
hash基本命令
- hash用于存儲對象,對象的格式為鍵值對
設(shè)置單個屬性
HSET key field value
設(shè)置多個屬性
HMSET key field value [field value ...]
獲取一個屬性的值
HGET key field
獲取多個屬性的值
HMGET key field [field ...]
獲取所有屬性和值
HGETALL key
獲取所有的屬性
HKEYS key
返回包含屬性的個數(shù)
HLEN key
獲取所有值
HVALS key
刪除屬性及值
HDEL key field [field ...]
list基本命令
在頭部插入數(shù)據(jù)
LPUSH key value [value ...]
在尾部插入數(shù)據(jù)
RPUSH key value [value ...]
在一個元素的前|后插入新元素
LINSERT key BEFORE|AFTER pivot value
移除并且返回 key 對應(yīng)的 list 的第一個元素
LPOP key
移除并返回存于 key 的 list 的最后一個元素
RPOP key
返回list列表范圍內(nèi)的元素
LRANGE key start stop
裁剪列表,改為原集合的一個子集
- start 和 end 偏移量都是基于0的下標
- 偏移量也可以是負數(shù),表示偏移量是從list尾部開始計數(shù),如-1表示列表的最后一個元素
LTRIM key start stop
set基本命令
set是無序集合,唯一不重復
添加元素
SADD key member [member ...]
獲取所有元素
smembers key
返回集合元素個數(shù)
scard key
求多個集合的交集
SINTER key [key ...]
求某集合與其它集合的差集
SDIFF key [key ...]
求多個集合的合集
SUNION key [key ...]
判斷元素是否在集合中
SISMEMBER key member
zset基本命令
sorted sort有序集合,依靠用戶自定義score來實現(xiàn)排序
添加
ZADD key score member [score member ...]
發(fā)布訂閱
訂閱
SUBSCRIBE 頻道名稱 [頻道名稱 ...]
取消訂閱
--如果不寫參數(shù),表示取消所有訂閱
UNSUBSCRIBE 頻道名稱 [頻道名稱 ...]
發(fā)布
PUBLISH 頻道 消息
主從配置
主服務(wù)器
vim /etc/redis/redis.conf
bind 192.168.1.10
從服務(wù)器
vim /etc/redis/redis.conf
bind 192.168.1.11
slaveof 192.168.1.10:6379
主從服務(wù)器分別重啟服務(wù)然后
redis-cli -h 192.168.1.10
redis-cli -h 192.168.1.11