试试用SpringBoot和Redis
首先
-
- 今回は最近よく耳にするNoSQLというやつを使ってみる
-
- NoSQLのうちRedisを使用する
-
- とりあえず動かすところまでを目標とする
- nosqlとRDBの違いがわからない人は他の方の記事を参考にしてください(詳しくは触れないです)
目前我們只需要一種中文本地化的句子。
对象
-
- あくまでもJava(SpringBoot)ユーザー&&NoSQL初心者
- NoSQLに興味ある人
Redis是什么?
-
- NoSQLの一種
-
- オープンソースなやつ(他にも有名どこだと、CassandraとかMongoDBとか。使ったことはないです)
- KVSのデータベース(Mapみたいなイメージ?違ったらごめんなさい)
请参考这篇文章,关于NoSQL的解释非常明确。
我会学习NoSQL。
马上试着玩玩看
所准备的东西
-
- Macのターミナル
- IntelliJ(SpringBoot+Gradle)
Redis 方面
使用终端输入”brew install”命令来安装Redis。
% brew install redis
使用redis-server进行确认。
% redis-server
执行redis-cli
执行以下命令
% ln -sfv /usr/local/opt/redis/*.plist ~/Library/LaunchAgents
% launchctl load ~/Library/LaunchAgents/homebrew.mxcl.redis.plist
重新使用redis-cli
春天之旁
- 適当にアプリケーションは用意してください
compile ('org.springframework.boot:spring-boot-starter-redis:1.4.7.RELEASE')
只需添加上述设置,即可使用RedisTemplate。
通过使用它,您可以将Key和Value注册到Redis中,就像使用Map一样。
spring.redis:
host: localhost
port: 6379
password: null
database: 0
只要按照这个样子在yml文件中写入,就可以使用Redis了。这是默认设置,如果不需要写入的话请原谅。数据库默认从0开始使用。
试着动一动
在这样那样的情况下,虽然已经可以将其注册到Redis中,但还是稍微给出一些示例代码。
@Data
@Getter
@Setter
class RedisSampleData {
private String string;
private List<String> list;
private Map<String, String> map;
}
@RestController
@RequestMapping(value = "/SampleRedis")
public class RedisSampleController {
@Autowired
private StringRedisTemplate redisTemplate;
@PostMapping
public void post(@RequestBody RedisSampleData redisSampleData) {
redisTemplate.delete("redis-tutorial:string");
redisTemplate.opsForValue()
.set("redis-tutorial:string", redisSampleData.getString());
redisTemplate.delete("redis-tutorial:list");
redisTemplate.opsForList()
.rightPushAll("redis-tutorial:list",
redisSampleData.getList().toArray(new String[0]));
redisTemplate.delete("redis-tutorial:map");
redisTemplate.opsForHash()
.putAll("redis-tutorial:map", redisSampleData.getMap());
}
@GetMapping
public RedisSampleData get() {
RedisSampleData redisSampleData = new RedisSampleData();
redisSampleData.setString(
redisTemplate.opsForValue()
.get("redis-tutorial:string")
);
redisSampleData.setList(
redisTemplate.opsForList()
.range("redis-tutorial:list", 0, -1)
);
redisSampleData.setMap(
redisTemplate.<String, String>opsForHash()
.entries("redis-tutorial:map")
);
return redisSampleData;
}
}
{
"string": "太郎",
"list": [
"二郎",
"三郎"
],
"map": {
"田中": "太郎",
"山田": "二郎"
}
}
试试看敲一下……
% curl -X POST -H "Content-Type: application/json" http://localhost:8080/SampleRedis -d @request.json
% curl "localhost:8080/SampleRedis"
乱感
-
- SpringBootのおかげで結構簡単に使い始めることはできた
- ちゃんと使えるようになるにはもう少し時間がかかりそう
参考来源
春天的数据存储Redis