赞
踩
Redis 是一款高性能的 NOSQL 系列的非关系型数据库
key:value
(例如:name:张三
age:23
)
应用场景:对于客户端、服务器、数据库三个方面
客户端向服务器端发出请求:查询一些不太经常发生变化的数据,然后服务器端进行数据库查询,操作关系型数据库非常耗时,(例如:user 表中的几亿条数据)
使用缓存思想(在内存区域开辟一块缓存区域)解决耗时问题:
- 从缓存中获取数据
- 有数据
- 直接返回
- 没有数据
- 从数据库查询
- 将数据放入缓存(使用 Redis 做缓存)
- 返回数据
NoSQL(NoSQL = Not only SQL),意即 “不仅仅是SQL”,是一项全新的数据库理念,泛指非关系型的数据库。
随着互联网 Web2.0 网站的兴起,传统的关系数据库在应付 Web2.0 网站,特别是超大规模和高并发的 SNS 类型的 Web2.0 纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NOSQL 数据库的产就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题。
key,value
形式、文档形式、图片形式等等,所以可以存储基础类型以及对象或者是集合等各种格式,而数据库则只支持基础类型。解压直接可以使用,找到文件:
服务器端:
客户端:
要先开启服务器端,才能开启客户端
set key value
get key
del key
hset key field value
hget key field
:获取指定的 field 对应的值hgetall key
:获取所有的 field 和 valuehdel key field
lpush key value
:将元素加入列表左边rpush key value
:将元素加入列表右边lrange key start end
:范围获取(如果获取范围是 0 到 -1 ,则就是获取所有)lpop key
:删除列表最左边的元素,并将元素返回rpop key
:删除列表最右边的元素,并将元素返回sadd key value
smembers key
:获取 Set 集合种所有元素srem key value
:删除 Set 集合中的某个元素zadd key score value
zrange key start end
zrem key value
keys *
:查询所有的键type key
:获取键对应的 value 的类型del key
:删除指定的 key valueRedis 是一个内存数据库,当 Redis 服务器重启后,或者电脑重启后,数据会丢失,可以将 Redis 内存中的数据持久化保存到硬盘的文件中。
redis.windows.conf
文件(不同版本位置可能不同)
save 900 1
save 300 10
save 10 5
cd /d 文件夹路径
),客户端依旧双击打开盘符:\存放目录\redis 版本号>redis-server.exe redis.windows.conf
dump.rdb
文件进行存储数据AOF :日志记录的方式,可以记录每一条命令的操作,可以在每一次命令操作后,持久化数据
redis.windows.conf
文件(不同版本位置可能不同)appendonly no
(默认关闭 aof) → appendonly yes
(开启 aof)(使用时依旧需要重新启动 Redis 服务器,并指定配置文件名称,使用命令行(Windows + R 键输入 cmd,之后打开后输入 cd /d 文件夹路径
),客户端依旧双击打开,进行操作后生成持久化文件:appendonly.aof
)(这种操作对性能影响较大)
# appendfsync always
:(默认被注释)每一次操作都进行持久化appendfsync everysec
:(默认开启)每隔一秒进行一次持久化# appendfsync no
:(默认被注释)不进行持久化Java 客户端 Jedis
Jedis :一款 Java 操作 Redis 数据库的工具’
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.3.2</version>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.7.1</version>
</dependency>
@Test
public void test01(){
// 1. 获取连接
Jedis jedis = new Jedis("localhost", 6379);
// 2. 操作
jedis.set("username","zhangsan");
// 3. 关闭连接
jedis.close();
}
keys *
查看,使用 get
进行取值 @Test
public void test02(){
// 1. 获取连接
// 如果使用空参构造,默认值“localhost”,6379端口
Jedis jedis = new Jedis();
// 2. 操作
// 存储
jedis.set("username","zhangsan"
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。