日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

redis初识

發(fā)布時間:2023/12/9 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 redis初识 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

redis初識

1.1 Redis是什么

介紹

開源:早起版本2w3千行

基于鍵值對的存儲系統(tǒng):字典形式

多種數(shù)據(jù)結(jié)構(gòu):字符串,hash,列表,集合,有序集合

高性能,功能豐富

那些公司在用

github,twitter,stackoverflow,阿里,百度,微博,美團(tuán),搜狐

1.2 Redis特性(8個)

速度快:10w ops(每秒10w讀寫),數(shù)據(jù)存在內(nèi)存中,c語言實(shí)現(xiàn),單線程模型

持久化:rdb和aof

多種數(shù)據(jù)結(jié)構(gòu)

5大數(shù)據(jù)結(jié)構(gòu)

BitMaps位圖:布隆過濾器 本質(zhì)是 字符串

HyperLogLog:超小內(nèi)存唯一值計數(shù),12kb HyperLogLog 本質(zhì)是 字符串

GEO:地理信息定位 本質(zhì)是有序集合

支持多種編程語言:基于tcp通信協(xié)議,各大編程語言都支持

功能豐富:發(fā)布訂閱(消息) Lua腳本,事務(wù)(pipeline)

簡單:源代碼幾萬行,不依賴外部庫

主從復(fù)制:主服務(wù)器和從服務(wù)器,主服務(wù)器可以同步到從服務(wù)器中

高可用和分布式

2.8版本以后使用redis-sentinel支持高可用

3.0版本以后支持分布式

1.3 Redis單機(jī)安裝

1.3.1下載安裝

# 下載 wget http://download.redis.io/releases/redis-5.0.7.tar.gz # 解壓 tar -xzf redis-5.0.7.tar.gz # 建立軟連接 ln -s redis-5.0.7 redis cd redis make&&make install # 在src目錄下可以看到 redis-server ===> redis服務(wù)器 redis-cli ===> redis命令行客戶端 redis-benchmark ===> redis性能測試工具 redis-check-aof ===> aof文件修復(fù)工具 redis-check-dump ===> rdb文件檢查工具 redis-sentinel ===> sentinel服務(wù)器,哨兵 redis作者對windows維護(hù)不好,window自己有安裝包# 卸載redis # 1、查看redis進(jìn)程; ps aux|grep redis # 2、kill掉進(jìn)程; kill 進(jìn)程id # 3、進(jìn)入到redis目錄 cd /usr/local/ # 4、刪除redis對應(yīng)的文件 rm -f /usr/local/redis/bin/redis* rm -f /usr/local/bin/redis* # 5、刪除對應(yīng)的文件 rm -rf redis

1.3.2三種啟動方式

1.3.2.1 最簡啟動
#最簡啟動 redis-server ps -ef|grep redis # 查看進(jìn)程 netstat -antpl|grep redis # 查看端口 redis-cli -h ip -p port ping # 命令查看
1.3.2.2 動態(tài)參數(shù)啟動
# 動態(tài)參數(shù)啟動 redis-serve --port 6380 # 啟動,監(jiān)聽6380端口
1.3.2.2 配置文件啟動
# 配置文件啟動(6379對應(yīng)手機(jī)按鍵MERZ,意大利女歌手Alessia Merz的名字) # 通過redis-cli連接,輸入config get * 可以獲得默認(rèn)配置 # 在redis目錄下創(chuàng)建config目錄,copy一個redis.conf文件 daemonize ===> 是否是守護(hù)進(jìn)程啟動(no|yes) port ===> 端口號 logfile ===> redis系統(tǒng)日志 dir ===> redis工作目錄

配置文件

# 查看一下默認(rèn)注釋,把#和空格去掉 cat redis.conf|grep -v "#" |grep -v "^$" # 重定向到另一個文件 cat redis.conf|grep -v "#" |grep -v "^$" >redis-6382.conf''' daemonize yes # 是否以守護(hù)進(jìn)程啟動 pidfile /var/run/redis.pid # 進(jìn)程號的位置,刪除 port 6379 # 端口號 dir "/opt/soft/redis/data" # 工作目錄 logfile “6379.log” # 日志位置 # 其他全刪掉 '''# 在redis目錄下新建data目錄,用來存放書籍 # 啟動redis redis-server config/redis.conf # 查看進(jìn)程 ps -ef |grep redis-server |grep 6379 # 查看日志 cd data cat 6379.log

1.3.3 客戶端連接(命令)

###客戶端連接### redis-cli -h 127.0.0.1 -p 6379 ping # 返回PONG# 有密碼的情況可以兩種登陸方式# 方式一redis-cli -h 127.0.0.1 -p 6370 -a 123456# 方式二先登陸,再通過auth輸入密碼 redis-cli -h 127.0.0.1 -p 6370auth 123456# redis-cli進(jìn)入 CONFIG GET * # 一百多對建值 CONFIG SET maxmemory 128M # 設(shè)置最大使用的內(nèi)存 CONFIG set requirepass 123456 # 設(shè)置密碼 CONFIG REWRITE # 保存到配置文件

1.3.4 redis返回值

# redis返回值 狀態(tài)回復(fù):ping ===> PONG錯誤回復(fù):hget hello field ===> (error)WRONGTYPE Operation against整數(shù)回復(fù):incr hello ===> (integer) 1字符串回復(fù):get hello ===> "world"多行字符串回復(fù):mget hello foo ===> "world" "bar"

1.4 Redis典型使用場景

1. 緩存系統(tǒng):
使用最廣泛的就是緩存

2. 計數(shù)器:
網(wǎng)站訪問量,轉(zhuǎn)發(fā)量,評論數(shù)(文章轉(zhuǎn)發(fā),商品銷量,單線程模型,不會出現(xiàn)并發(fā)問題)

3. 消息隊列:
發(fā)布訂閱,阻塞隊列實(shí)現(xiàn)(簡單的分布式,blpop:阻塞隊列,生產(chǎn)者消費(fèi)者)

4. 排行榜:
有序集合(閱讀排行,點(diǎn)贊排行,推薦(銷量高的,推薦))

5. 社交網(wǎng)絡(luò):
很多特效跟社交網(wǎng)絡(luò)匹配,粉絲數(shù),關(guān)注數(shù)

6. 實(shí)時系統(tǒng):
垃圾郵件處理系統(tǒng),布隆過濾器

總結(jié)

以上是生活随笔為你收集整理的redis初识的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。