Linux中搭建Redis和使用和Jedis

我的未来我决定 提交于 2019-11-27 16:19:39

Redis

数据的分类:

  1. 关系型数据库:存储表,使用sql操作,也称为结构化数据库
    -常见产品:MySQL Oracle SQLServer DB2
  2. 非关系型数据库(非结构化数据库,NoSQL)
    -泛指不适用SQL操作的数据库
    -文档数据库:存储文档 MongoDB,用于存储JSON文档
    -Key_Value 数据库,核心原理就是 散列表,查询性能奇高,为提升查询性能而生!经常使用作为关系型数据库的缓存使用,常见产品:MemoryCache Redis

Redis 是一种非关系KV数据库

  1. 是内存型数据库,同时提供了磁盘持久存储
  2. Redis 采用散列表技术,查询性能高,可以达到千万级并发
  3. Redis 经常作为 关系型数据库的缓存使用
  4. 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中数据类型提供的对应的一组操作命令:

  1. String 类型命令
    -set get append
  2. Hash 类型命令
  3. List 列表
  4. Set 集合
  5. 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”

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!