1. redis
1. 概念
Redis是一个非关系型数据库
非关系型数据库和关系型数据库的区别:
1.存储方式不同
关系型数据库是用表储存数据,这对表之间是有关联关系的
非关系型数据库redis,是用键值对方式储存数据,每一条数据之间么有任何联系
2.存储位置不同
非关系型数据库是储存在文件中,用IO流操作,效率低。
关系型数据库,是存储在内存中,所以操作简单,效率高。
使用场景:
缓存:如果是经常查询并且还不经常改变的数据,我们可以使用缓存,
查询的时候先去查redis,如果没有查到,就去数据库中查询,
然后再存到redis中
2. 下载安装
3. 命令操作
1. 数据结构
key就是一个字符串
value可以是以下五种数据类型
1.String Map<String,String>
存储 set key value
获取 get key
删除 del key(这是一个通用操作,后边所有的数据结构,都可以用它删除所有)
2.hash Map<String,Map<String,String>>
存储 hset key field value
获取 hget key field
获取所有 hgetall key
删除 hdel key field
删除所有 del key
3.list 相当于LinkedList Map<String,linkedlist<String>>
push()存储 pop()删除
存储
lpush key value
rpush key value
获取
lrange key start end
start 是开始的索引
end是接受的索引,想要获取所以,end就传-1
删除
lpop key 从左边第一个删除
rpop key 从右边第一个删除
del key 删除所有
4.set不允许重复,无序 Map<String,HashSet<String>>
存储 : sadd key value
获取 : smembers key
删除 :srem key value
删除所有 :del key
5.sortedset不允许重复,但是有序 Map<String,LinkHashSet<String>>
存储:zadd key score value
获取:和list很相似
zrange key start end[withscores代表赋值数的大小]
删除:zrem key value
删除所有 del key
通用操作:
1. keys * : 查询所有的键
2. type key : 获取键对应的value的类型
3. del key:删除指定的key value
4. 持久化操作
RDB 默认的持久化方式. 尽最大可能去存.不一定能存成功.
AOF 可以设置每次操作或者每秒钟去存一次.
appendonly yes
appendfsync always 每一次操作都存
appendfsync everysec 每一秒钟存一次
5. 使用Java客户端操作redis |
|