簡介
Redis是Nosql數據庫的一種,可基於內存亦可持久化的日志型、是一個Key-Value數據庫,多用在緩存方面
安裝
-
Windows
-
下載地址, 最新版本的Redis好像僅支持64位
-
Windos下載Redis文件后直接解壓啟動
redis-server.exe
即可,下圖所示即啟動成功
- 然后這個cmd窗口不要關閉,啟動同一目錄下的
redis-cli.exe
出現下面的窗口即服務端連接成功
-
-
Linux
-
安裝redis需要c語言的編譯環境。如果沒有gcc需要在線安裝。yum install gcc-c++
-
redis的源碼包上傳到linux系統。
-
解壓縮redis。
-
編譯。進入redis源碼目錄。執行指令:make
-
安裝。make install PREFIX=/usr/local/redis 其中 PREFIX參數指定redis的安裝目錄。一般軟件安裝到/usr目錄下
-
基本的安裝到這里已經完成
redis的啟動
-
前端啟動:在redis的安裝目錄下直接啟動redis-server ,
[root@localhost bin]# ./redis-server
-
后台啟動
-
把/root/redis-3.0.0/redis.conf復制到/usr/local/redis/bin目錄下
[root@localhost redis-3.0.0]# cp redis.conf /usr/local/redis/bin/
-
修改配置文件
daemonize yes
然后啟動redis[root@localhost bin]# ./redis-server redis.conf
這種啟動方式為指定配置文件的啟動方式 -
-
-
查看redis進程
[root@localhost bin]# ps aux|grep redis
會顯示兩行, 一行為redis進程 一行為查詢語句的進程
redis 客戶端連接
-
[root@localhost bin]# ./redis-cli
默認連接localhost運行在6379端口的redis服務,連接本地服務。 -
[root@localhost bin]# ./redis-cli -h 192.168.25.153 -p 6379
-h
:連接的服務器的地址-p
:服務的端口號
redis內的五種數據類型
redis是一個key-value數據庫, 即通過key可以取到存儲的value類型的數據 , 下面是五種類型
redis中所有的數據都是字符串。命令不區分大小寫,key是區分大小寫的。
key-value(鍵值對)
下面是幾種常用的命令
get() 通過key獲取value
set() 設置key,value
getset() 先取到這個key的value然后再設置value
del() 刪除key
appen() 拼接字符串
key-fields-values(Hash)
下面是hash的存儲結構
使用示例 在實例中,我們設置了 redis 的一些描述信息(name, description, likes, visitors) 到哈希表的 runoobkey 中。
常用命令
hset key field value // 存儲
hmset key field value field2 value..... // 存多個
hget key field // 取值
hmget key field field2 field3..... // 取多個
hgetall key // 取出全部
hdel key field field2 // 刪除多個
del key // 刪除整個hash
incrby key field incrument // 增加值
hexists key field // 判斷指定key中的field是否存在
hlen key // 獲取key中包含的field
hkeys key // 獲取所有的key
hvals key // 獲取所有的value
hlen key // 找到對應的key的長度
list(隊列)
存儲結構, 這個存儲結構可以兩端都可以進行插入和刪除
使用示例, 在實例中我們使用了 LPUSH 將三個值插入了名為 runoobkey 的列表當中。
lpush key values[value2 ..] // 從左邊壓
rpush key values[value2 ..] // 從右邊壓
lrange key start end // 從左邊取
lpop key // 左邊彈棧(移出並且取出)
rpop key // 左右彈棧(移出並且取出)
llen key // 返回list長度
lpushx key value // 如果key存在,則向頭插入,不存在,則不進行
lrem key conunt value // 從左往右刪除conunt個value的,count<0 則為從右往左 , 等於0 刪除所有value元素
lset key index value // 在位置index插入值,0代表頭,-1代表尾
set 存儲結構和list相同,不過不允許有相同的元素,並且只能從一端來進行操作,並且set內的元素沒有順序
使用示例,在實例中我們通過 SADD 命令向名為 runoobkey 的集合插入的三個元素。
常用操作
sadd key values[...] // 添加多個元素
srem key members[...] // 刪除多個
sismember key member // 檢查元素是否存在
smembers key // 查詢
sdiff key1,key2... // 求key1 和 key2的差集
sinter key1,key2 ... // 返回key1和key2的交集
sunion key1,key2 ... // 返回key1和key2的並集
scard key // 獲取key中的長遠數量
srandmember key // 從key中隨機獲取一個值
sortedset,有序的set,排序方式根據權重來排序 所以在添加元素的時候需要給每個元素設置一個權重
使用示例 在實例中我們通過命令 ZADD 向 redis 的有序集合中添加了三個值並關聯上分數。
基本操作
zadd key score member score2 member2 // 添加成員
zrange key start end // 獲取集合角標 start - end的元素
zrange key start end withscores // 獲取集合角標 start - end的元素 , 並且按照權重排序
zcard key // 獲取成員數量
zscore key member // 返回指定成員變量的權重
zrevrange key start end withscore // 按照分數從大到小返回
zremrangebyrank key start stop // 按照排名范圍刪除元素(從小到大)
zremrangebyscore key min max // 按照分數范圍刪除元素
zrangebyscore key min max [withscores][limit offset count] // 返回分數在min-max范圍內的數,從高到低 limit: 表示從offset下標元素開始並返回count個成員變量
zincrby key increment member // 指定成員變量增加的分數
zcount key min max // 返回分數在min - max內的成員
zrank key member // 返回成員在集合中排序(從小到大)
zrevrank key member // 返回成員在集合中排序(從大到小)
上面就是redis中的五種數據結構,可以根據業務具體需求來選擇對應的機構
通用操作
kess pattern // 篩選 * 表示任意一個或多個字符 ? 表示任意一個
del key1,key2.. // 刪除指定key
exists key // 判斷key是否存在
rename key newkey // 為當前key重命名
expire key number //設置過期時間(單位:秒)
ttl key // 獲取該key所剩的超時時間, -1 : 沒設置超時 -2:key不存在
type key // 獲取key的類型
flushall // 刪除所有數據庫中的key
redis的可視化工具 RedisDesktopManager
官方網站下載即可, 打開軟件輸入host地址就能連接,進行可視化操作

redis在java上的工具類 jedis
可以參照api進行使用 , 使用方式和jdbc相似.
我的博客即將同步至騰訊雲+社區,邀請大家一同入駐。