一.nosql(非关系性数据库):
mongoDB
hbase
redis
nulch
hive
pig
mahout
zookeeper
二:redis 数据类型
1.存储string:
常用命令:
设置/取值:
set key value
get key
getset key value
del key
数值增减:
incr key
decr key
扩展命令:
incrby key increment
decrby key decrement
append key value
2.存储hash:键值对
常用命令:
赋值:
hset key field value
hmset key field value [field2 value2 ...]
取值:
hget key field
hmget key field field ...
hgetall key
删除:
hdel key field [field...]
del key
增加数字:
hincrby key field increment
自学命令:
hexists key field
hlen key
hkeys key
hvals key
3.存储list:有序可重复,按插入顺序排序的字符串链表
常用命令:
两端添加:
lpush key values[value1 value2 ...]
rpush key values[value1 value2 ...]
查看列表:
lrange key start end
两端弹出:
lpop key
rpop key
获取列表中元素的个数
llen key
扩展命令:
lpushx key value
rpushx key value
lrem key count value
lset key index value
linsert key before|after pivot value
rpoplpush resource destination
rpoplpush mylist1 mylist2
rpoplpush mylist1 mylist1
4.存储set:无序不重复
常用命令:
添加/删除元素:
sadd key values[value1,value2...]
srem key members[member1,member2...]
获得集合中元素:
smembers key
sismember key member
集合中差集运算:A-B
sdiff key1 key2...:
集合中交集运算:AnB
sinter key1 key2...:
集合中并集运算:AuB
sunion key1 key2...:
扩展命令:
scard key
srandmember key
sdiffstore destination key1 key2...
sinterstore destination key1 key2...
sunionstore destination key2 key2...
5.存储sortedset:有序不重复
常用命令:
添加元素:
zadd key score memeber score2 member2...
获得元素:
zscore key member
zcard key
删除元素:
zrem key member[member...]
zremrangebyrank key start stop
zremrangebyscore key min max
范围查询:
zrange key start end [withscores]
zrange myzset 0 -1 withscores
zrevrange key start stop [withscores]
扩展命令:
zrangebyscore key min max [withscores] [limit offset count]
zincrby key increment member
zcount key min max
zrank key member
zrevrank key member
6.keys值的通用操作:
keys pattern : *表示任意一个或多个; ?表示任意一个字符
del key1 key2...
exists key
rename key newkey
expire key
ttl key
type key
三:redis特性:
1.多数据库:
一个redis实例最多可提供16个数据库,下标从0到15,默认连接是第0号数据库,也可以通过select选择连接哪个数据库。
select 1
move key 2
2.服务器命令:
ping
echo
select
quit
dbsize :当前数据库中key的数目
info :服务器的信息和统计
flushdb :删除当前选择数据库中的所有key
flushall :删除所有数据库中的所有key
3.消息订阅与发布:
subscribe channel :订阅频道
subscribe mychat
psubscribe channel* :批量订阅频道
psubscribe s* :订阅以‘s’开头的频道
publish channel content :在指定的频道中发布消息
publish mychat 'today is a newday'
4.redis事务:
multi :开启事务
discard :事务回滚
exec :提交事务
multi
incr num1
incr num2
incr num3
discard/exec
四:redis持久化:数据从内存中同步到硬盘中
redis支持两种方式持久化:一种RDB;一种AOF.
1.RDB(默认支持,无需配置)
在指定时间间隔内将内存中的数据集快照写入磁盘
快照参数设置:
save 900 1 15分钟 至少1个key发生变化,即dump内存快照
save 300 10 5分钟 至少10个key发生变化,即dump内存快照
save 60 10000 1分钟 至少10000个key发生变化,即dump内存快照
2.AOF
以日志形式记录服务器所处理的每一个写操作,在redis服务器启动之初会读取该文件来重新构建数据库。
配置信息:
always 每次有数据修改发生时写入aof文件
everysec 每秒钟同步一次
no 从不同步