基本命令的使用参考: http://redisdoc.com/
-
String的存储类型
- INT 整型
- Float 浮点型
- String 字符串
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> set name hz
OK
127.0.0.1:6379[1]> get name
"hz"
127.0.0.1:6379[1]> flushdb
OK
127.0.0.1:6379[1]> keys *
(empty list or set)
127.0.0.1:6379[1]> flushall
OK
127.0.0.1:6379[1]> set name
(error) ERR wrong number of arguments for 'set' command
127.0.0.1:6379[1]> dbsize
(integer) 0
127.0.0.1:6379[1]> exists hz
(integer) 0
127.0.0.1:6379[1]> set hz 111
OK
127.0.0.1:6379[1]> exists hz
(integer) 1
127.0.0.1:6379[1]> dbsize
(integer) 1
127.0.0.1:6379[1]> type hz
string
127.0.0.1:6379[1]> del hz
(integer) 1
127.0.0.1:6379[1]> keys *
(empty list or set)
127.0.0.1:6379[1]> mset hh 111 jj 222
OK
127.0.0.1:6379[1]> mget hh jj
1) "111"
2) "222"
127.0.0.1:6379[1]> setnx hh 111
(integer) 0
127.0.0.1:6379[1]> setnx hhh 111
(integer) 1
127.0.0.1:6379[1]> EXPIRE lock 10
(integer) 0
127.0.0.1:6379[1]> set lock 111
OK
127.0.0.1:6379[1]> EXPIRE lock 10
(integer) 1
127.0.0.1:6379[1]> get lock
"111"
127.0.0.1:6379[1]> get lock
(nil)
127.0.0.1:6379[1]> get lock
(nil)
127.0.0.1:6379[1]> clear
127.0.0.1:6379[1]> set lock 111 EX 10 NX //可以实现分布式锁 EX 10 标识10秒过期 NX不存在的时候才能设置
OK
127.0.0.1:6379[1]> get lock
"111"
127.0.0.1:6379[1]> get lock
(nil)
127.0.0.1:6379[1]> clear
127.0.0.1:6379[1]> set huangzhen 111
OK
127.0.0.1:6379[1]> incr huangzhen
(integer) 112
127.0.0.1:6379[1]> decr huangzhn
(integer) -1
127.0.0.1:6379[1]> decr huangzhen
(integer) 111
127.0.0.1:6379[1]> decr huangzhen
(integer) 110
127.0.0.1:6379[1]> set f 2.2
OK
127.0.0.1:6379[1]> incrbyfloat f 7.7
"9.9"
127.0.0.1:6379[1]> append huangzhen goodman
(integer) 10
127.0.0.1:6379[1]> get huangzhne
(nil)
127.0.0.1:6379[1]> get huangzhen
"110goodman"
127.0.0.1:6379[1]> strlen huangzhen
(integer) 10
127.0.0.1:6379> getrange huangzhen 0 -1
"111goodman"
127.0.0.1:6379> getrange huangzhen 0 4
"111go"
-
String 应用场景
- 缓存
- 分布式Session
- set EX NX 实现分布式锁
- incr 分库分表全局id的实现
- incr 计数器(文章阅读量,微博点赞数,不需要实时同步到数据库)
- incy 限流
- 位操作