redis简介
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库。
redis存储特别快原因是:
1、存在内存中
2、单线程
3、多路复用
4、resp协议
5、value简单
redis数据结构
1、字符串(String)
value可以是 XML 、JSON、数字、二进制。最大不能超过512MB。
常用命令:
设值一个key value的数据: set key value ex [expiration EX seconds|PX milliseconds]
ex表示多少秒后过期,px是毫秒
取值: get key
127.0.0.1:6379> set age 20 ex 10
OK
127.0.0.1:6379> get age
"20"
127.0.0.1:6379> get age
(nil)
设置一个值:setnx key value
当key存在时失败,返回0,不存在时成功返回1
127.0.0.1:6379> setnx age 20
(integer) 1
127.0.0.1:6379> get age
"20"
127.0.0.1:6379> setnx age 30
(integer) 0
批量设值、批量取值:mset key value key value ....
、mget key key ....
127.0.0.1:6379> mset name xiaoming age 30
OK
127.0.0.1:6379> mget name age
1) "xiaoming"
2) "30"
自增、自减:incr key 、decr key
key必须是整数,incr自增,decr 自减。
127.0.0.1:6379> get age
"30"
127.0.0.1:6379> incr age
(integer) 31
127.0.0.1:6379> decr age
(integer) 30
整数加减任意数值:incrby key increment、decrby key increment
。
127.0.0.1:6379> incrby age 10
(integer) 40
127.0.0.1:6379> decrby age 5
(integer) 35
浮点数加:incrbyfloat key increment
127.0.0.1:6379> set money 1.1
OK
127.0.0.1:6379> incrbyfloat money 0.2
"1.3"
追加字符串:append key value
。
字符串长度:strlen key
。
截取字符串:getrange key start end
。
127.0.0.1:6379> get name
"xiaoming"
127.0.0.1:6379> append name 111
(integer) 11
127.0.0.1:6379> get name
"xiaoming111"
127.0.0.1:6379> strlen name
(integer)