1、Redis、Memcached的主要区别是?
基于Key、Value型的Nosql数据库很多,我们经常听说的是以上两款。在几年前,我们经常听说Memcached ,但这几年Redis更耳闻能详。
A、Redis存储的数据类型更多。Memcached一般只能存储普通的字符串键值,而Redis还可以存储其他4种数据结构(列表、集合、散列表、有序集合)。
B、Redis支持数据落盘。Redis既可以用作主数据库,又可以作为其他存储系统的辅助数据库。而Memcached一般只用为内存数据库使用。
C、Redis支持主从复制。Redis可作为HA环境中使用,主用服务器通过日志将修改数据自动同步到从服务器中。
二、Redis分别支持的五种数据类型是?
1、字符串
set hello world //hello是键名,world是值。String是数据类型
2、列表
rpush list-key item
rpush list-key item2 //list-key是键名,item、item2是值。
3、集合
sadd set-key item1
sadd set-key item2
sadd set-key item3 //集合与列表类似,但集合不允许存储相同的值
4、散列
散列就像是一个微型的redis
hset hash-key sub-key1 value1
hset hash-key sub-key2 value2
5、有序集合
zadd zset-key 728 member1
zadd zset-key 982 member0 //member1、member0是成员,728、982是浮点数分值。有序集合与散列类似,可以根据成员访问元素;但有序集合可以根据分值、分值的排列顺序来访问元素的结构。
三、我们用Redis数据类型来解决一个实际问题!
1、如果有几十篇文章,需要进行投票,需要避免单个用户一天内重复投票。为避免存储无效的用户数据。我们可以用集合类型存储用户的ID。
2、如果我们需要存储几十篇文章,我们可以用有序集合类型。有序集合的成员为文章ID,分值为文章的发布时间。我们可以根据文章的发布时间进行文章的排序。