redis key+五大数据类型
Redis的原子性
所谓原子操作是指不会被线程调度机制打断的操作。这种操作一旦开始,就会一直运行到结束,中间不会有任何的context switch(切换到另一个线程)
1.在单线程中,能够单条指令中完成的操作都可以认为是原子操作,因为中断只能发生于指令之间
2.在多线程中,不能被其他进程(线程)打断的操作叫做原子操作
redis单命令的原子性主要得益于redis的单线程
key
keys
查看当前库所有的key
exists aa
判断某个键是否存在,1为存在,0为不存在
flushdb
清空key
set k1 v1
添加键值对
ttl < key >
查看还有多少秒过期,-1表示永不过期,-2表示已过期
expire seconds
为key设置过期时间
type < key >
查看键的类型
del < key >
删除某个键
k1的有效时间已经没了,所以被删除了,k2是被手动删除的
dbsize
查看当前数据库中的key的数量
flushdb
清空当前库
flushall
通杀所有库
五大数据类型之String
String是Redis最基本的类型,可以理解成与Memcached的一模一样的类型,一个key对应一个value
String类型是二进制安全的,意味着Redis的STring可以包含任何数据,比如JPG图片或者序列化对象
String类型是Redis最基本的数据类型,一个Redis中字符串value最多可以是512M
get < key >
查询对应的键值
setnx < key > < value >
只有在key不存在时设置key的值
strlen < key