1、String(字符串)
动态字符串,允许修改;它在结构上的实现类似于Java中的ArrayList(默认构造一个大小为10的初始数组),这是冗余分配内存的思想,也称为预分配;这种思想可以减少扩容带来的性能消耗。
set key value
get key
2、List(列表)
列表相当于Java语言中的LinkedList,它是一个双向链表数据结构,支持前后顺序遍历。链表结构插入和删除操作快,时间复杂度O(1),查询慢,时间复杂度O(n)。
lpush/rpush key value
lpop key
3、hash(字典)
hash(字典)相当于Java语言中的HashMap,它是根据散列值分布的无序字典,内部的元素是通过键值对的方式存储。
hset key field value
hget key field
hgetall key
4、set(集合)
set(集合)由于其特殊去重复的功能,我们可以用来存储活动中中奖的用户的ID,这样可以保证一个用户不会中奖两次。
sadd key member
smembers -> 查看集合中所有的元素,注意是无序的
spop -> 弹出元素,count指弹出元素的个数
5、zset(有序集合)
zadd -> 向集合中添加元素,集合不存在则新建,key代表zset集合名称,score代表元素的权重,member代表元素
zrange -> 按照score权重从小到大排序输出集合中的元素,权重相同则按照value的字典顺序排序([lexicographical order])
zrevrange -> 按照score权重从大到小输出集合中的元素,权重相同则按照value的字典逆序排序
网友评论