嗨,我是redis的新手,想要一些帮助.我正在使用java和sql server 2008和redis服务器.要与redis交互,我正在使用jedis api for java.我知道redis用于存储基于键值的东西.每个键都有值.
问题背景:
我有一个表名"user",它存储id,姓名,电子邮件,年龄,国家等数据.这是sql表的模式.现在这个表有一些行(也就是说一些数据).现在我的主键是id,它只是用于数据库使用它在应用程序中对我没用.
现在在sql中我可以插入新行,可以更新一行,可以搜索任何用户,可以删除用户.
我想将这些表数据存储到redis中.然后我想在redis上执行类似的操作,比如搜索,插入,删除.但如果我在"在DB和Redis中存储此信息"有一个好的设计,那么这些操作将简单地执行.记住我也可以有多个表.所以应该根据表格将数据存储在redis中.
我的问题
任何设计或信息,您可以告诉我如何将数据库数据转换为Redis并执行所有操作.我问这个是因为我知道Facebook也在使用redis来存储数据.然后他们如何存储数据.
任何帮助都会非常感激.
我正在使用GSON来验证JSON格式的字符串:
String json="{'hashkey':{'calculatedHMAC':'f7b5addd27a221b216068cddb9abf1f06b3c0e1c','secretkey':'12345'},operation':'read','attributes':['name','id'],'otid':'12'}";
Gson gson=new Gson();
Response resp = new Response();
RequestParameters para = null;
try{
para = gson.fromJson(json, RequestParameters.class);
}catch(Exception e){
System.out.println("invalid json format");
}
Run Code Online (Sandbox Code Playgroud)
它做得很好但是当我删除下面的引号时,我已经从hashkey中删除了:
"{hashkey':{'calculatedHMAC':'f7b5addd27a221b216068cddb9abf1f06b3c0e1c','secretkey':'12345'},operation':'read','attributes':['name','id'],'otid':'12'}"
Run Code Online (Sandbox Code Playgroud)
它仍然将它验证为正确的JSON格式,并且不会抛出任何异常而不会进入catch体.这样做的原因是什么?我该如何解决这个问题?
RequestParameters类:
public class RequestParameters {
HashKey hashkey;
String operation;
int count;
int otid;
String[] attributes;
}
Run Code Online (Sandbox Code Playgroud)