数据库:简单来说是本身可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、截取、更新、删除等操作。
数据库分为关系型数据库(mysql)和非关系型数据库(nosql)。
非关系型数据库分为五(四)大类:
一、文档型数据库:mongodb
二、k-v键值对数据库:redis
三、图型数据库:Neo4J
四、列存储:Hbase
五、Xml数据库:BaseX
什么是redis:redis就是远程字典服务(remote directoy server)ropen source基于BSD协议
redis的主要应用场景:主要用于缓存
redis为大家提供了五种基本数据类型:
string:
set key value # 表示保存一个键值对
get key # 表示获取该键所对应的值
mset key1 v1 key2 v2 # 表示一次保存多个键值对
mget key1 key2…… # 表示获取多个键对应的值
incr key # 对key的值进行加一(必须是数字字符串)
incrby key value # 对key的值进行加value(必须是数字字符串)
decr key # 对key的值进行减一(必须是数字字符串)
decrby key value # 对key的值进行减value(必须是数字字符串)
setex key seconds value # 表示保存一个键值对,存活时间是seconds秒
append key value # 将value的值拼接到key的值后面
strlen key # 判断key对应的值的长度
setrange key offset v # 将key对应的值从offset位置开始替换为value
getrange key s e # 获取key对应的值从s位置到e
setnx key value # 判断key是否存在,如果存在,则不操作,如果不存在,则增加key和值。
键的操作:
keys * # 返回当前数据库的所有key
select index # 到index对应的数据库中去
exists key # 判断当前数据库下是否存在该key
type key # 判断key对应的值的类型
del key # 删除key和对应的值
expire key seconds # 该key设置过期时间
ttl key # 查看key有效时间
persist key # 去掉失效时间,让key持久化
move key db # 将key移动到db对应的数据库中
dbsize # 返回当前数据库的key的数量
flushdb # 清空当前数据库的所有键和值(慎用)
flushall # 清空当前数据库系统的所有值(慎用)
info # 返回当前数据库系统的基本信息
hash 主要存储对象
hset key field value # 保存对象的属性和值
hget key field # 获取对象的属性值
hmset key f1 v1 f2 v2…… # 保存对象的多个属性和值
hmget key f1 f2…… # 获取对象的多个属性值
hgetall key # 获取对象的所有属性和属性对应的值
hkeys key # 获取对象的所有属性
hvals key # 获取对象的所有值
hlen key # 获取对象的属性个数
hstrlen key field # 获取对象属性值的长度
hdel key field # 删除对象的属性
list 主要存储大量的字符串
lpush key value [value] # 从左侧添加数据到list中
rpush key value [value] # 从右侧添加数据到list中
linsert key before|after pivot value # 在一个元素前/后插入数据
lrange key start end # 从start位置开始显示数据,到end结束
lpop key # 删除列表左侧的第一个数据
rpop key # 删除列表右侧的第一个数据
llen key # 返回列表的元素个数
lindex key index # 返回列表index位置的数据
set 主要存储无序的大量字符串,一般用于去重
sadd key value [value] # 添加set的元素
smembers key # 显示set中的所有元素
sismembers key value # 判断set中是否存在value元素
scard key # 返回set的元素个数
sinter s1 s2 # 返回s1和s2集合的交集
sdiff s1 s2 # 返回s1和s2的差集(s1部分)
sunion # 返回两个集合的并集
zset 有序的集合
zadd key score value…… # 增加一个有序集合的元素
zrange key start end # 循环有序集合
zcount key min max # 返回有序集合的权重范围内的元素个数