redis是一种非关系型数据库,存储元素都是键值对类型的,值得数据结构本来有5种,之后redis又加入了三种。下面来讲一下redis的数据结构:
redis的数据结构
- redis存储的是key-value键值对。key都是字符串,value是各种不同的数据结构。
五种常用的redis数据结构如下:-
字符串类型 :string。
存储: set key value
获取: get key value
删除: del key value -
哈希类型 hash :map格式。
存储:hset key field value
获取:hget key field value
删除:hdel key field value
获取所有:hgetall key 获取该key所有的键和值 -
列表类型 list :linkedList格式。 支持重复元素。
添加
从左边添加 lpush key value
从左边添加 rpush key value
获取
从左边范围获取 lrange key lindex rindex
删除
从左边添加 lpop key
从左边添加 rpop key -
集合类型 set : 不支持重复元素。
添加 sadd key value(添加一个) sadd key value value…(添加多个)
获取 smembers key
删除 srem key value -
有序集合类型 sortedset : 不支持重复元素,而且元素会经过排序(排序是根据score,从小到大排序)。
添加 zadd key score name
获取 zrange key lindex rindex zrange key lindex rindex withscores(显示成绩)
删除 zrem key name
-
redis通用命令
keys *: 查询所有键
type key: 查看key对应的value的类型
del key:删除对应的key value
#####redis持久化:
redis所有操作都是在内存中进行的,当服务器重启,服务器数据会丢失,可以吧redis内存的数据持久化保存到硬盘的文件中。
- redis持久化机制
-
RDB:默认方式,不需要进行配诶之,默认使用该机制。(在一定时间间隔中,检测key的变化情况,然后持久化数据。对性能的影响较低)
编辑redis.windows.conf
save 900 1 (900s之后有1个key变化了,保存一次)
save 300 10(300s之后有1个key变化了,保存一次)
save 60 10000(60s之后有1个key变化了,保存一次)
使用命令redis-server.exe redis windows.conf指定配置文件启动
保存的数据在dump.rdb文件中 -
AOF:日志记录的方式,可以记录每一条命令的操作,可以在每一次命令操作后,持久化数据。(对性能的影响较大)
编辑redis.windows.conf文件
appendonly no 变为appendonly yes(开启aof)
# appendfsync always : 每次命令都进行持久化
appendfsync everysec:每一秒进行一次持久化
# appendfsync no :不进行持久化
数据存放在appenedonly.aof中
-
Jedis
java操作redis数据库的工具,类似jdbc
下载jar包,导入jar包
使用
// 获取连接
Jedis jedis = new Jedis(localhost, port);
// 操作
jedis.set(“username”,“baba”);
// 关闭连接
jedis.close();
Jedis连接池——JedisPool
- 使用
1、创建Jedis连接池对象
2、使用getResource()方法获取Jedis连接