基本知识:
1.redis称为数据库,内存数据库
2.NoSql类型,以字典结构存储数据
1.准备好服务器,准备好客户端和服务器【下载的windows免安装版】
2.各种数据类型的处理:
通用类型:
keys */?/[]/\
*:代表了当前数据库中所有的键
?:匹配一个字符
[ ]:代表了一个集合[]
(和正则表达式差不对)
exists key:判断是否存在一个键
del key:删除一个键值对
type key:获取键值的数据类型
1.字符串类型
1.set key value
如果存在是覆盖,不存在新建
2.get key
存在就返回该键对应的值
3.incr key
整数递增数字,不是整数会提示错误
4.incrby key increment
增加指定的整数
5.减少指定的整数
decrby key increment
6.incrbyfloat key increment
增加指定的小数
7.append key value
尾部追加值
8.还有部分位操作不做学习
2.散列类型(Set类型的Map集合):也是一种字典结构的数据(我下面所说的key可以认为是一个对象的属性名)
1.hset 对象名 键 值
2.hmset 对象名 键 值 键 值......:同时插入多个键
hmset yu:1 title first content mycontent date 2017-09-09
3.hgetall 对象名 :获取当前对象中所有的键值对(这个应该比较好用)
4.hexists 对象 key
判断一个对象是否存在,存在返回1,否则返回0
5.hdel 对象名 key :删除字段
6.hincrby 对象名 key increment:自增数字
7.hkeys 对象名:获取对象所有的key
8.hvals 对象名:获取对象所有的value
9.hlen 对象名:获取对象中key的数量
3.列表类型(链表):存储的是一个有序的字符串列表,常用的操作是向列表两端加入元素,或者获取列表的某一片段(分页)
1.lpush/rpush key value value1..... 向列表两端添加元素
2.lpop/rpop key:从列表的两端删除并弹出元素(类似于java集合中Stack)
3.llen key:获取列表的长度,当键不存在时返回0
4.lrange key start stop:获取列表的片段(按照索引查询,起始索引为0),-1代表从右边起第一个元素,+-代表了左右
查询全部:lrange key 0 -1
5.lrem key count value:删除列表中前count个值为value的元素
6.lindex key index:按照索引值获取对应的值
7.lset key index value:按照索引赋值
8.ltrim key start end:删除指定范围的外的所有元素(例如:系统中只保存前100条日志记录:ltrim key 0 99)
9.linsert key before|after pivot value:向列表中插入元素
元素的插入会查找一个标志pivot,在根据before或者after插入到这个标志之前或者之后
10.lpoplpush source 目标:将元素从一个列表转移到另一个列表
4.集合类型(无序集合)
1.sadd key value value......:添加元素
2.smembers key:显示所有元素
3.srem key:删除key
4.sismemeber key value:判断元素是否存在
5.集合间的运算:
sdiff key key......:执行差集运算
sinter key key......:交集
sunion key key.....并集