# 复制安装档内的redis.conf 到自己指定的路径下
cp /home/redis/redis-6.2.5/redis.conf /home/redis/config/
# 启动Redis Server使用自己设定好的config
./redis-server /home/redis/config/redis.conf
# 连线至Redis Server
redis-cli -h 127.0.0.1 -p 6379
# 取得目前载入设定的路径
127.0.0.1:6379> config get dir
# 取得目前载入设定的内容
127.0.0.1:6379> config get *
# 修改设定值内容
127.0.0.1:6379> config set loglevel warning
127.0.0.1:6379> config get loglevel #验证
# 显示Redis Server的资讯和统计资料
127.0.0.1:6379> info server
# info後面server参数可以换成下列这些参数,取得相关资讯与统计资料.
# server clients memory persistence stats replication cpu modules errorstats cluster keyspace
Redis 执行操作指令不分大小写,但如果是Key则有区分大小写.
也可以透过此环境进行後面的课程
try redis
Redis中最常使用的型态.
可用指令
资料结构
设定key与value值.
127.0.0.1:6379> set key1 jacky
OK
127.0.0.1:6379> set key2 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
OK
127.0.0.1:6379> set key3 123
OK
127.0.0.1:6379> set key4 123.456
OK
一次设定多笔key与value值.
127.0.0.1:6379> mset name1 aaa name2 bbb name3 ccc
OK
取得指定key的value值.
127.0.0.1:6379> get key1
"jacky"
127.0.0.1:6379> object encoding key1
"embstr"
127.0.0.1:6379> get key2
"11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
127.0.0.1:6379> object encoding key2
"raw"
127.0.0.1:6379> get key3
"123"
127.0.0.1:6379> object encoding key3
"int"
127.0.0.1:6379> get key4
"123.456"
127.0.0.1:6379> object encoding key4
"embstr"
一次取得多个指定key的value值.
127.0.0.1:6379> mget name1 name2 name3
1) "aaa"
2) "bbb"
3) "ccc"
数值递增1.
127.0.0.1:6379> get key3
"123"
127.0.0.1:6379> incr key3
(integer) 124
127.0.0.1:6379> get key3
"124"
# 此key5不存在
127.0.0.1:6379> get key5
(nil)
# 此时key会自动写入1
127.0.0.1:6379> incr key5
(integer) 1
127.0.0.1:6379> get key5
"1"
数值依照设定数值进行递增.
127.0.0.1:6379> get key5
"1"
# 指定递增数为10并依此对key的value值进行递增10
127.0.0.1:6379> incrby key5 10
(integer) 11
127.0.0.1:6379> get key5
"11"
数值递减1.
127.0.0.1:6379> get key5
"11"
127.0.0.1:6379> decr key5
(integer) 10
127.0.0.1:6379> get key5
"10"
数值依照设定数值进行递减.
127.0.0.1:6379> get key5
"10"
# 指定递减数为3并依此对key的value值进行递减3
127.0.0.1:6379> decrby key5 3
(integer) 7
127.0.0.1:6379> get key5
"7"
指定key的value字串长度.
127.0.0.1:6379> get key1
"jacky"
127.0.0.1:6379> strlen key1
(integer) 5
指定key的value字串插入字串.
127.0.0.1:6379> get key1
"jacky"
127.0.0.1:6379> append key1 www
(integer) 8
127.0.0.1:6379> get key1
"jackywww"
指定key取得value中的起始与结束字元.
127.0.0.1:6379> get key1
"jackywww"
127.0.0.1:6379> getrange key1 0 3
"jack"
指定key取代从指定位置取代value字元.
127.0.0.1:6379> get key1
"jackywww"
127.0.0.1:6379> setrange key1 5 ggg
(integer) 8
127.0.0.1:6379> get key1
"jackyggg"
当指定的key不存在时才写入key与value.
127.0.0.1:6379> set key1 jacky
OK
127.0.0.1:6379> get key1
"jacky"
127.0.0.1:6379> set key1 jacky2
OK
127.0.0.1:6379> get key1
"jacky2"
# 当key1不存在才写入jacky3到key1的value
127.0.0.1:6379> setnx key1 jacky3
(integer) 0
127.0.0.1:6379> get key1
"jacky2"
127.0.0.1:6379> get key3
(nil)
# 当指定的key存在时才写入key与value.
127.0.0.1:6379> set key3 abc xx
(nil)
设定key过期时间并写入value,key到期Redis背景会自动删除.(秒)
127.0.0.1:6379> setex key3 5 www
OK
127.0.0.1:6379> get key3
"www"
127.0.0.1:6379> ttl key3
(integer) 1
127.0.0.1:6379> get key3
(nil)
设定key过期时间并写入value,key到期Redis背景会自动删除.(毫秒)
127.0.0.1:6379> get key3
(nil)
127.0.0.1:6379> psetex key3 50000 www
OK
127.0.0.1:6379> get key3
"www"
127.0.0.1:6379> pttl key3
(integer) 43641
127.0.0.1:6379> get key3
(nil)
取得目前指定key的值,并写入新的值.
127.0.0.1:6379> get key4
(nil)
127.0.0.1:6379> getset key4 ccc
(nil)
127.0.0.1:6379> get key4
"ccc"
数值依照设定浮点数值进行递增.
127.0.0.1:6379> get key5
(nil)
127.0.0.1:6379> set key5 123.456
OK
127.0.0.1:6379> incrbyfloat key5 0.001
"123.457"
127.0.0.1:6379> get key5
"123.457"
一次设定多笔的key不存在时才写入key与value.
127.0.0.1:6379> mget key1 key2
1) (nil)
2) (nil)
127.0.0.1:6379> msetnx key1 jacky key2 123
(integer) 1
127.0.0.1:6379> mget key1 key2
1) "jacky"
2) "123"
127.0.0.1:6379> msetnx key1 boy key2 456
(integer) 0
确认指定key是否存在.
# 存在此key
127.0.0.1:6379> exists key1
(integer) 1
# 存在此2个key
127.0.0.1:6379> exists key1 key2
(integer) 2
# 只存在此2个key,key3不存在
127.0.0.1:6379> exists key1 key2 key3
(integer) 2
设定key过期时间,key到期Redis背景会自动删除.(秒)
127.0.0.1:6379> expire key1 3
(integer) 1
# 已删除
127.0.0.1:6379> get key1
(nil)
# 设定key1值并设定到期时间为2秒
127.0.0.1:6379> set key1 jacky ex 10
OK
# 剩余7秒到期
127.0.0.1:6379> ttl key1
(integer) 7
# 到期已删除
127.0.0.1:6379> get key1
(nil)
设定key过期时间,key到期Redis背景会自动删除.(毫秒)
127.0.0.1:6379> pexpire key2 100
(integer) 1
# 已删除
127.0.0.1:6379> get key2
(nil)
# 设定key1值并设定到期时间为1000毫秒
127.0.0.1:6379> set key1 jacky px 20000
OK
# 剩余8666毫秒到期
127.0.0.1:6379> pttl key1
(integer) 8666
# 到期已删除
127.0.0.1:6379> get key1
(nil)
删除指定key与value,如果大量删除有可能会让Redis主thread占用进而影响操作.
# 删除5个key成功
127.0.0.1:6379> del key1 key2 key3 key4 key5
(integer) 5
# 没有删除任何一个key
127.0.0.1:6379> del key1 key2 key3 key4 key5
(integer) 0
将指定key由keyspace的资料中删除,但实际资料会由背景执行Process进行删除,所以大量资料删除时不会影响Redis主thread操作.
127.0.0.1:6379> unlink name1 name2 name3
(integer) 3
<<: [Part 4 ] Vue.js 的精随-元件 Slots
>>: Day12 ATT&CK for ICS - Initial Access(2)
922. Sort Array By Parity II https://leetcode.com/...
今天来介绍NN的另一个类别,RNN主要是运用在sequence data做预测,也就是任何有序的资料...
“I miss you deeply, unfathomably, senselessly, te...
哈罗大家晚安~ 外面的风超级大的 希望大家都平平安安 接下来就是实作三 - 服务器效能监控 on A...
Hashicorp Vault: KeePass into Vault 今天介绍一个小工具,当你要把...