周总结三(二)
核心代码
private static Jedis jedis;
@Before
public static void setJedis(){
jedis=new Jedis("192.168.132.128",6379);
jedis.auth("123456");
System.out.println("连接成功!");
}
@Test
public static void testMap(){
//添加
Map<String,String>map=new HashMap<String, String>();
map.put("English","45");
map.put("Math","89");
map.put("Computer","100");
jedis.hmset("scofiled",map);
//显示指定数据
System.out.println("获取English值:");
Iterator<String> iterator=jedis.hkeys("scofiled").iterator();
while(iterator.hasNext()){
String key=iterator.next();
if(key.equals("English")){
System.out.println(key+":"+jedis.hmget("scofiled",key));
}
}
}
@Test
//添加
public static void insert(MongoDatabase mongoDatabase){
//连接表"Student",若没有表则创建该表
MongoCollection<Document> collection=mongoDatabase.getCollection("Student");
Document d=new Document("English","45").append("Math","89").append("Computer","100");
Document document=new Document("name","scofiled").append("score",d);
collection.insertOne(document);
System.out.println("添加成功");
}
@Test
//按条件查找且显示指定数值
public static void findTest(MongoDatabase mongoDatabase) {
MongoCollection<Document>collection=mongoDatabase.getCollection("Student");
BasicDBObject condition=new BasicDBObject();
condition.put("name","scofiled");
BasicDBObject key=new BasicDBObject();
key.put("score",1);
MongoCursor<Document>iterator=collection.find(condition).projection(key).iterator();
System.out.println("学生scofiled的score数据为");
while (iterator.hasNext()){
System.out.println(iterator.next());
}
}
本周学习了Redis和Mongodb两个数据库知识,操作环境均为Linux。复习Hbase的API操作,JavaWeb知识(征集系统)。着重说明Redis和Mongodb的知识点
**安装:**
**Redis:**
环境:Linux环境下Redis包,虚拟机(Ubuntu-18.04)
首先安装gcc:**sudo apt-get build-dep gcc || sudo apt-get install build-essential**
之后解压Redis包:**tar -zxvf 【包名】 -C 【解压到的目录】**
解压后进入到目录,开始操作:1.**make (没有成功安装gcc的话这里会报错)**
2.**make install PREFIX=【指定目录】(安装到指定目录)**
安装成功后进入bin文件夹,会发现6个文件,但是没有**redis.conf**文件,这个文件需要去之前解压包时指定的目录下去找,将其复制到安装目录的bin文件夹下。最后bin应该含以下文件:![img](https://img2020.cnblogs.com/blog/1715087/202010/1715087-20201024202049215-56011643.png)
之后修改**redis.conf**文件下的配置:
![img](https://img2020.cnblogs.com/blog/1715087/202010/1715087-20201024202224050-746019167.png)
![img](https://img2020.cnblogs.com/blog/1715087/202010/1715087-20201024202637623-1446817233.png)
bind修改成0.0.0.0,意思是任意ip均可访问,这样可以使用redis可视化工具或者java从外部进行访问。**若将redis部署到服务器,记得设置密码,否则别人可以随意访问你的redis。**
下面那条就是关闭安全模式。外网访问需要配置这两项。
——————————————————————————————
如果是前台启动,在bin目录下执行语句:**./redis-server**就可以了,但是前台启动的弊端就是当前界面不可以关闭,也做不了其他操作,因此我们需要后台开启,依然是配置redis.conf:**
**
![img](https://img2020.cnblogs.com/blog/1715087/202010/1715087-20201024203525696-151275928.png)
最后给redis设置个密码:
![img](https://img2020.cnblogs.com/blog/1715087/202010/1715087-20201024203640682-530912380.png)
密码为123456。
配置好后在bin目录下使用命令:**./redis-server ./redis.conf**启动。**
**
若想使用shell命令操作,则启动客户端:**./redis-cli -a 【密码】**
——————————————————————————————
其他配置:
redis无法写入数据时:redis.conf
![img](https://img2020.cnblogs.com/blog/1715087/202010/1715087-20201024204559919-200970591.png)
把这里改成no。
这种方法是一次性解决,临实方法可以在客户端内输入命令解决:**config set stop-writes-on-bgsave-error no**
**Mongodb:**
环境:Linux环境下Mongodb包,虚拟机(Ubuntu-18.04)
解压操作省略,Mongodb需要配置环境变量:**vim /etc/profile**
**![img](https://img2020.cnblogs.com/blog/1715087/202010/1715087-20201024205259486-1856663649.png)**
之后生成环境变量:**source /etc/profile**
切换到解压的mongo文件目录下,注意与bin同级,创建data文件夹,再进入新创建的data文件夹内,创建db文件夹:
![img](https://img2020.cnblogs.com/blog/1715087/202010/1715087-20201024205551128-10911564.png)![img](https://img2020.cnblogs.com/blog/1715087/202010/1715087-20201024205623199-1105624309.png)
随后在与bin和data同级的目录下建立logs文件夹(上方左图可以看到logs),在其内创建mongodb.log文件
再进入bin目录配置mongodb.conf文件**(此配置用于java外部连接mongodb,且根据该文件启动为后台启动mongodb,默认为前台启动,情况与redis相同)**
![img](https://img2020.cnblogs.com/blog/1715087/202010/1715087-20201024210231935-753940695.png)
dbpath与logpath对应之前建立的/data/db和/logs/mongodb.log路径
启动Mongodb服务:进入bin目录下输入命令:**./mongo -f mongodb.conf**
进入管理后台:**./mongo**