Redis
数据的分类:
- 关系型数据库:存储表,使用sql操作,也称为结构化数据库
-常见产品:MySQL Oracle SQLServer DB2 - 非关系型数据库(非结构化数据库,NoSQL)
-泛指不适用SQL操作的数据库
-文档数据库:存储文档 MongoDB,用于存储JSON文档
-Key_Value 数据库,核心原理就是 散列表,查询性能奇高,为提升查询性能而生!经常使用作为关系型数据库的缓存使用,常见产品:MemoryCache Redis
Redis 是一种非关系KV数据库
- 是内存型数据库,同时提供了磁盘持久存储
- Redis 采用散列表技术,查询性能高,可以达到千万级并发
- Redis 经常作为 关系型数据库的缓存使用
- Redis 支持五种数据类型
Redis 的安装
两种方式 yum安装和编译安装
yum 安装
yum -y install redis
启动和tomcat都一样:systemctl start...
编译安装
wget http://download.redis.io/releases/redis-5.0.5.tar.gz
tar -xzf redis-5.0.5.tar.gz
mkdir /usr/local/redis
cd redis-5.0.5
make
make PREFIX=/usr/local/redis install
cp redis.conf /usr/local/redis
检查:
ls /usr/local/redis
文件中应该包含 bin 和 redis.conf
启动Redis
#配置环境变量:
export PATH=/usr/local/redis/bin:$PATH
#启动Redis 服务器
cd 回到主目录
redis-server & 推到后台
启动客户端连接到Redis
redis-cli
关闭 redis 服务器
redis-cli shutdown
Redis 的TCP端口 6379
Redis 提供了5中数据类型
Redis 为5中数据类型提供的对应的一组操作命令:
- String 类型命令
-set get append - Hash 类型命令
- List 列表
- Set 集合
- Sortedset 集合
Sring 类型
-keys * 查看所有添加的key
-set key "value"(添加key) -get key(查看key)
-del key(删除key) -strlen key (查看key的长度)
-mset key "value" key "value" ... (批量添加key)
-mget key key (批量查看key) -incr key(增加1)
-incrby score 10(增加10) -decr score(减少1)
-decrby score 10(减少10) -incrbyfloat price 1.8(增加小数1.8) -incrbybloat price -10.9(减少10.9)
-
Hash类型
-hset loginUser name "Tom"(添加)
-hget loginUser name (查看)
-hmget loginUser name passwd (批量查看)
-hkeys loginUser(查看所有key)
List 类型
List 类型本质上是一个缓存队列:用于处理并发的数据请求,批量生成所需的数据,且因为在内存中操作,就算断电了,也会自动保存,缓存队列的用途也很广泛。
lpush queue value (左边存数)队列可以两边村数
rpop key (取数)
LLEN queue (队列长度)
BRPOP key time (阻塞,假如缓存队列中没有数据,他就会进入阻塞状态,然后只有缓存队列中一加入key,他就会得到响应。)
Jedis
Java Redis Client API
Eclipse笑Demo的代码实现:
具体操作:在Eclipse里面新建一个jar或者war的Maven项目都可以,然后添加Jedis的jar包,和junit的jar包,
之后直接就写测试类就行,不用部署web和添加Tomcat服务器;然后利用junit进行测试;查看redis中是否添加进了数据。
pom中的两个依赖
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.10.2</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
类中的具体代码:
@Test
public void testJedis() {
//创建对象进行连接
Jedis jedis = new Jedis("具体服务器ip");
//传值
jedis.set("msg1", "Hello World Eclipse is me!");
//拿回来显示在控制台上
String value = jedis.get("msg");
System.out.println(value);
//关闭连接
jedis.close();
}
Eclipse插入添加不进数据可以参考此网站,进行保护模式关闭:
https://www.cnblogs.com/supery007/p/8718532.html
或者直接关闭:
config set protected-mode “no”
来源:https://blog.csdn.net/Frame_X/article/details/99696837