一.数据类型 : (5种)

String: 字符串
	一个 key 对应一个 value
	
Hash: 散列	是一个键值(key=>value)对集合。
	 特性:适合存储对象,并且可以像数据库中update一个属性一样只修改某一项属性值(Memcached中需要取出整个字符串反序列化成对象修改完再序列化存回去)
	 场景:存储、读取、修改用户属性
	 
List: 列表	
	特性:增删快,提供了操作某一段元素的API
	场景:1,最新消息排行等功能(比如朋友圈的时间线) 2,消息队列
	
Set: 集合	
	特性:1、添加、删除,查找的复杂度都是O(1) 2、为集合提供了求交集、并集、差集等操作
	场景:1、共同好友 2、利用唯一性,统计访问网站的所有独立ip 3、好友推荐时,根据tag求交集,大于某个阈值就可以推荐
	
Sorted Set: 有序集合
	特性:数据插入集合时,已经进行天然排序
	场景:1、排行榜 2、带权重的消息队列

二.Redis 基本命令

切换redis DB: 	
	select 0 (几号库)

查看所有key值:
	keys *

删除指定索引的值:
	del key

清空整个 Redis 服务器的数据:
	flushall 

清空当前库中的所有 key:
	flushdb

1.Redis - String: key - value

redis中如何通过命令set大量的数据 redis set命令的五个参数_Redis

使用incr  命令,如果key 不存在,会自动创建key 并自动+1.

设置值:
	set key value 
获取值:
	get key 

value 加一 (key 所选择的 value 必须是 数字类型)
	incr key 
value 减一 (key 所选择的 value 必须是 数字类型)
	decr key

2.Redis - Hash: key-field-value

redis中如何通过命令set大量的数据 redis set命令的五个参数_数据_02

相当于一个key 对应一个map (map中又是key- value),
应用于归类,例如某人的个人信息

设置值
	  hset  key key1 value1  
获取值
	 hget  key field       
设置增数量: (key所选择的 value 必须是 数字类型 )
	(num   -> 设置 5 则 value + 5; 设置 -5 则 value - 5 )
	hincrby key field num

3.Redis - List:

redis中如何通过命令set大量的数据 redis set命令的五个参数_Redis_03

从顶部添加元素
	lpush list a b c d  
	
从底部添加元素
	rpush list 1 2 3 4  
	
查看列表元素
	lrange list 0 -1 (从0 到 -1 元素查看:也就表示查看所有)

从顶部,删除一个元素
	lpop list 
	
从底部,删除一个元素
	rpop list

4.Redis - Set:

redis中如何通过命令set大量的数据 redis set命令的五个参数_数据_04


去重; 可应用于抽奖

添加数据
	sadd key value1
查看set数据中存在的元素个数
	scar key
判断set数据中是否存在某个元素
	sismember key value1
删除某个set数据中的元素
	srem key value1

5.Redis - SortedSet(zset):

redis中如何通过命令set大量的数据 redis set命令的五个参数_redis_05


去重; 排名 排行榜

添加数据
	zadd key 1.1 value1
查询总条数
	zcard key 
查询排序后的数据
	zrange key 0 2 withcores