1、Nosql(not only sql)
非关系型数据库,不支持sql语法每种Nosql数据库都有自己的api和语法格式常见的种类有:Mongodb, Redis, Hbase hadoop, Cassandra hadooNosql与sql数据库的区别:
适用场景不同:sql数据库关系特别复杂的数据查询场景,而nosql相反。事务特性的支持:sql对事务的支持非常的完善,而noslq基本不支持事务。两者在不断的取长补短,呈现融合趋势
2、Redis数据库
支持数据的持久化,可以将内存中的数据保存到磁盘中,重启的时候可以再次进行加载使用。不仅支持key-value型数据,还支持string,hash,list,set,zset数据操作。支持数据备份(master-slave)读写性能极高
3、Redis命令
1、string:
设置
set key value # 基本键值对
setex key seconds vakue # 创建字符串并指明有效的时间
mset key1 value1 key2 value2... # 多个键值对
append key value # 追加内容到字符串
获取
get key # 获取value值
mget key1 key2... # 获取多个value值
查看键
keys * # 查看所有的键
keys a* # 查看以a开头的键
keys *a # 查看以a结尾的键
keys *a* # 查看包含a的键
exists key1 # 判断键是否存在
type key # 查看键的类型
删除键
del key1 key2 # 删除键
expire key second # 删除键,并设置有效期
ttl key 查看键的有效期
2、hash
设置
hset key field value # 给键设置一个属性
hmset key field1 vlaue1 field2 value2.. # 设置多个属性
获取
hget key field # 获取域的一个属性
hmget key field # 获取域的多个属性
hkeys key # 获取指定域的所有属性
hvals key # 获取指定域的所有属性值
删除键
hdel key field1 field2
3、list
设置
lpush key value1 value2 # 从左边插入
rpush key value1 value2 # 从右边插入
linsert key before oldvalue newvalue # 在指定元素前插入
linsert key after oldvalue newvalue # 在指定元素后面插入
lset key index value # 设置指定位置的元素值
获取
lrange key start stop # 获取在该范围内从start到stop的值
删除键
lrem key count value
# 当count>0时,从左往右删除count个value值
# 当count<0时, 从右往左删除-count个value值
# count=0时,删除所有的value
4、set
设置
sadd key member1 member2 # 添加元素
获取
smembers key # 获取域中的所有元素
删除键
srem key value # 删除域内的指定元素
5、zset
设置
zadd key score1 mumber1 score2 mumber2 # 添加元素
获取
zrange key start stop # 返回指定范围内的member
zrangebysocre key min max # 返回权重值在min和max中的元素
zscore key value 获取域中value的权重值
删除键
zrem key member1 member2.. # 删除域内的指定元素
zremrangebyscore key min max # 删除域权重介于min和max 之间的元素