百度开放服务平台提供了 redis服务 其中没有C#调用方式, 1.百度提供的redis有 username 和 password 等信息,除了host,port外还需要额外的auth。 import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import redis.clients.jedis.Jedis; public class RedisBasic extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { try { /*****1. 填写数据库相关信息(请查找数据库详情页)*****/ String databaseName = " eiZrxDYAgZRYcJuTRljT"; String host = "redis.duapp.com"; String portStr = "80"; int port = Integer.parseInt(portStr); String username = " urtgxzMPVigNEtOQF7yzg7C9";//用户名(api key); String password = "1e0jDqkZ7fUwNgFD5LzwPY4YAQURFGYM";//密码(secret key) /******2. 接着连接并选择数据库名为databaseName的服务器******/ Jedis jedis = new Jedis(host,port); jedis.connect(); jedis.auth(username + "-" + password + "-" + databaseName); /*至此连接已完全建立,就可对当前数据库进行相应的操作了*/ /*3. 接下来就可以使用redis数据库语句进行数据库操作,详细操作方法请参考java-redis官方文档*/ PrintWriter out = resp.getWriter(); //删除所有redis数据库中的key-value jedis.flushDB(); //简单的key-value设置 jedis.set("name", "bae"); System.out.println("name | " + jedis.get("name")); } catch (Exception e) { e.printStackTrace(resp.getWriter()); } } } |
|
RedisClient有地方设呀,你看看构造函数
public RedisClient(string host, int port, string password = null, long db = DefaultDb) : base(host, port, password, db) { Init(); } |
|
我有看到这个重载,但是他只有 password 和 db, |
|
那个password 就是 username + “-” + password + “-” + databaseName 这个的组合就是了, |
|
如您所说的方法,在redisClient.Set(“test”, “xxxxx”);执行时报异常,
好像不支持这种方式。 我将账号密码信息都提供在下面的源码处,请大家把我试下。 private void button1_Click(object sender, EventArgs e) { string host = "redis.duapp.com"; string databaseName = "LDqwYTGrcciFDReojQhq"; int port = 80; string username = "jXGOrZKkOMYOdHQP4odd9V9v"; string password = "7G4t5ghVCwerjdXahlPWh7qHIyZRQ7aq"; string passwordStr = username + "-" + password + "-" + databaseName; using (RedisClient redisClient = new RedisClient(host, port, passwordStr)) { redisClient.Set("test", "xxxxx"); label1.Text = redisClient.Get<string>("test"); } } |
|
40分 |
这不都提示了么。无法实列redis.duapp.com:80这个,你先查一下,这个能不能用。
|
百度的redis服务只能在它的内网使用,也就是说只能用它的云主机类的产品才能用。
外网连不上。结贴。 |