Redis启动服务和String常用命令
1. 启动Redis服务
E:\redis>redis-server.exe redis.windows.conf
_._
_.-``__ ''-._
_.-`` `. `_. ''-._ Redis 3.0.504 (00000000/0) 64 bit
.-`` .-```. ```\/ _.,_ ''-._
( ' , .-` | `, ) Running in standalone mode
|`-._`-...-` __...-.``-._|'` _.-'| Port: 6379
| `-._ `._ / _.-' | PID: 12052
`-._ `-._ `-./ _.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' | http://redis.io
`-._ `-._`-.__.-'_.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' |
`-._ `-._`-.__.-'_.-' _.-'
`-._ `-.__.-' _.-'
`-._ _.-'
`-.__.-'
[12052] 24 Mar 15:03:37.578 # Server started, Redis version 3.0.504
[12052] 24 Mar 15:03:37.579 * DB loaded from disk: 0.000 seconds
[12052] 24 Mar 15:03:37.579 * The server is now ready to accept connections on port 6379
2. Redis客户端连接服务
E:\redis>redis-cli.exe -h 10.2.136.131 -p 6379 -a 123456
10.2.136.131:6379>
-h redis服务的ip -p redis服务的端口 -a redis密码
3. SET
127.0.0.1:6379> set student:name "xiaoxu"
OK
set有多个可选参数
● EX seconds:用于设置 key 的过期时间为多少秒(seconds)。其中,SET key value EX seconds 等价于 SETEX key seconds value。
● PX milliseconds:用于设置 key 的过期时间为多少毫秒(milliseconds)。其中,SET key value PX milliseconds 等价于 PSETEX key milliseconds value。
● NX:表示当 key 不存在时,才对 key 进行设置操作。其中,SET key value NX 等价于 SETNX key value。
● XX:表示当 key 存在时,才对 key 进行设置操作。
127.0.0.1:6379> set student:sex man ex 5
OK
4. MSET
使用 MSET 命令同时设置多个键值对。MSET 命令是一个原子性操作,所有给定 key 都会在同一时间内被设置更新。
127.0.0.1:6379> mset student:home "ximeng" student:id 1
OK
127.0.0.1:6379> get student:home
"ximeng"
MSET支持SET的可选参数
5. GET
使用 GET 命令获取 key 中设置的字符串值。如果 key 中存储的值不是字符串类型的,则会返回一个错误,因为 GET 命令只能用于处理字符串的值;当 key 不存在时,返回 nil。
127.0.0.1:6379> get student:sex
"man"
127.0.0.1:6379> get student:sex
(nil)
6. MGET
127.0.0.1:6379> get student:sex
"man"
127.0.0.1:6379> get student:sex
(nil)
7. GETRANGE :获取键的子字符串值
使用 GETRANGE 命令来获取 key 中字符串值从 start 开始到 end 结束的子字符串,下标从 0 开始(字符串截取)。start 和 end 参数是整数,可以取负值。当取负值时,表示从字符串最后开始计数,-1 表示最后一个字符,-2 表示倒数第二个字符,以此类推。
127.0.0.1:6379> getrange student:home 1 3
"ime"
8. SETBIT\GETBIT
SETBIT 命令:设置键的偏移量
GETBIT 命令:获取键的偏移量
命令格式:
setbit key offset value
getbit key offect
使用 SETBIT 命令对 key 所存储的字符串值设置或清除指定偏移量上的位(bit)。value 参数值决定了位的设置或清除,value 值取 0 或 1。当 key 不存在时,自动生成一个新的字符串值。这个字符串是动态的,它可以扩展,以确保将 value 保存到指定的偏移量上。当这个字符串扩展时,使用 0 来填充空白位置。offset 参数必须是大于或等于 0,并且小于 2^32 (4 294 967 296)(bit 映射被限制在 512MB 之内)的正整数。在默认情况下,bit 初始化为 0。
经常用来记录网站上的浏览记录,比如:
127.0.0.1:6379> setbit video:10010 4294967295 1
(integer) 0
127.0.0.1:6379> getbit video:10010 4294967295
(integer) 1
代表第10010编号的video被用户4294967295浏览过。
9. SETRANGE 命令:替换键的值
127.0.0.1:6379> get student:name
"xiaoxu"
127.0.0.1:6379> setrange student:name 4 wang
(integer) 8
127.0.0.1:6379> get student:name
"xiaowang"
10. GETSET 命令:为键设置新值
127.0.0.1:6379> getset student:age 18
"18"
127.0.0.1:6379> get student:age
"18"
11. APPEND 命令:为键追加值
127.0.0.1:6379> append student:name "zuishuai"
(integer) 16
127.0.0.1:6379> get student:name
"xiaowangzuishuai"
12. BITCOUNT 命令:计算比特位数量
使用 BITCOUNT 命令计算在给定的字符串中被设置为 1 的比特位数量。它有两个参数:start 和 end。如果不设置这两个参数,则表示它会对整个字符串进行计数;如果指定了这两个参数值,则可以让计数只在特定的位上进行。
127.0.0.1:6379> bitcount video:10010
(integer) 1
13. BITOP 命令:对键进行位元运算(不常用)
14. STRLEN 命令:统计键的值的字符长度
127.0.0.1:6379> strlen student:name
(integer) 16
15. 对数字类型的值计算
DECR 命令:让键的值减 1
DECRBY 命令:键的值减去减量值
INCR 命令:让键的值加 1
INCRBY 命令:让键的值加上增量值
INCRBYFLOAT 命令:让键的值加上浮点数增量值
127.0.0.1:6379> incr student:age
(integer) 19
127.0.0.1:6379> incrby student:age 5
(integer) 24
127.0.0.1:6379> incrbyfloat student:age 1.02
"25.02"