redis主要有五种数据类型,分别是String、Hash、List、Set、ZSet.
1:String:
单值存储:set [key] [value]
取值:get [key]
多值存储:mset [key1] [value] [key2] [value]
取值:mget [key1] [key2]
2:Hash:
存储数据:hset [table] [key] [value]
在原有数量上加数量:hincrby [table] [key] [数量]
获取所有的数量:hgetall [table]
删除商品:hdel [table] [key]
3、List
将一个值放入列表的头部(最左边):lpush [key] [value]
移除并返回列表的头元素:lpop [key]
将一个值放入列表的尾部(最右边):rpush [key] [value]
移除并返回列表的尾元素:rpop [key]
返回列表中指定区间内的元素:lrange [key] [开始位置] [结束位置]
4、Set
往集合key中存入元素,元素存在则忽略,若key不存在则新建:sadd [key] [元素]
从集合key中随机选取几个元素,元素不从集合中删除:srandmember [key] [元素个数]
获取集合key中所有元素:smembers [key]
获取集合key中元素的个数:scard [key]
判断一元素是否存在于集合中:sismember [key] [元素]
从集合中删除元素:srem [key] [元素]
5、ZSet
往有序集合key中加入带分值的元素:zadd [key] [分值] [元素]
返回有序集合key中元素的分值:zscore [key] [元素]
返回有序集合key中元素的个数:zcard [key]
为有序集合key中元素的分值加上一个分值:zincrby [key] [分值] [元素]
Redis在读写操作的时候是单线程的,但是其它功能,例如持久化、异步删除、集群数据同步等是有额外的线程执行的。
因为Redis的数据都在内存中,而且单线程避免了多线程的切换性能损耗问题所以单线程也能很快