Redisxue

来源:互联网 发布:备考中级会计 知乎 编辑:程序博客网 时间:2024/06/06 08:31

一。安装

1.下载地址:https://github.com/MSOpenTech/redis/releases

Redis 支持 32 位和 64 位。这个需要根据你系统平台的实际情况选择,这里我们下载 Redis-x64-xxx.zip压缩包到 C 盘,解压后,将文件夹重新命名为 redis

2.将安装路径配置到环境变量的path后面,打开cmd,输入redis-server.exe,

会显示如下界面:

Redis 安装

这时候另启一个cmd窗口,原来的不要关闭,不然就无法访问服务端了。

切换到redis目录下运行 redis-cli.exe -h 127.0.0.1 -p 6379 。

设置键值对 set myKey abc

取出键值对 get myKey

Redis 安装

3.可以根据需要修改安装路径下的redis.windows.conf配置文件中的配置项。


二、数据类型

1.String:string类型是Redis最基本的数据类型,一个键最大能存储512MB。可以使用get和set命令对string进行赋值和获取值。

2.Hash:每个 hash 可以存储 232 -1 键值对(40多亿)。

Redis HMSET, HGETALL 命令

127.0.0.1:6379> HMSET user:1 username runoob password runoob points 200OK127.0.0.1:6379> HGETALL user:11) "username"2) "runoob"3) "password"4) "runoob"5) "points"6) "200"
3.List:列表最多可存储 232 - 1 元素 (4294967295, 每个列表可存储40多亿)。

redis 127.0.0.1:6379> lpush runoob redis(integer) 1redis 127.0.0.1:6379> lpush runoob mongodb(integer) 2redis 127.0.0.1:6379> lpush runoob rabitmq(integer) 3redis 127.0.0.1:6379> lrange runoob 0 101) "rabitmq"2) "mongodb"3) "redis"redis 127.0.0.1:6379>
4.Set是string类型的无序集合。集合中最大的成员数为 232 - 1(4294967295, 每个集合可存储40多亿个成员)。

redis 127.0.0.1:6379> sadd runoob redis(integer) 1redis 127.0.0.1:6379> sadd runoob mongodb(integer) 1redis 127.0.0.1:6379> sadd runoob rabitmq(integer) 1redis 127.0.0.1:6379> sadd runoob rabitmq(integer) 0redis 127.0.0.1:6379> smembers runoob1) "rabitmq"2) "mongodb"3) "redis"
5.zset:

zadd key score member 

实例

redis 127.0.0.1:6379> zadd runoob 0 redis(integer) 1redis 127.0.0.1:6379> zadd runoob 0 mongodb(integer) 1redis 127.0.0.1:6379> zadd runoob 0 rabitmq(integer) 1redis 127.0.0.1:6379> zadd runoob 0 rabitmq(integer) 0redis 127.0.0.1:6379> ZRANGEBYSCORE runoob 0 10001) "redis"2) "mongodb"3) "rabitmq"
三、使用

1.使用

$ redis-cli -h host -p port -a password

实例

以下实例演示了如何连接到主机为 127.0.0.1,端口为 6379 ,密码为 mypass 的 redis 服务上。

$redis-cli -h 127.0.0.1 -p 6379 -a "mypass"redis 127.0.0.1:6379>redis 127.0.0.1:6379> PINGPONG
2.Hyperloglog:

redis 127.0.0.1:6379> PFADD runoobkey "redis"1) (integer) 1redis 127.0.0.1:6379> PFADD runoobkey "mongodb"1) (integer) 1redis 127.0.0.1:6379> PFADD runoobkey "mysql"1) (integer) 1redis 127.0.0.1:6379> PFCOUNT runoobkey(integer) 3
3.订阅、发布

实例

以下实例演示了发布订阅是如何工作的。在我们实例中我们创建了订阅频道名为 redisChat:

redis 127.0.0.1:6379> SUBSCRIBE redisChatReading messages... (press Ctrl-C to quit)1) "subscribe"2) "redisChat"3) (integer) 1

现在,我们先重新开启个 redis 客户端,然后在同一个频道 redisChat 发布两次消息,订阅者就能接收到消息。

redis 127.0.0.1:6379> PUBLISH redisChat "Redis is a great caching technique"(integer) 1redis 127.0.0.1:6379> PUBLISH redisChat "Learn redis by runoob.com"(integer) 1# 订阅者的客户端会显示如下消息1) "message"2) "redisChat"3) "Redis is a great caching technique"1) "message"2) "redisChat"3) "Learn redis by runoob.com"
4.事务

以下是一个事务的例子, 它先以 MULTI 开始一个事务, 然后将多个命令入队到事务中, 最后由 EXEC 命令触发事务, 一并执行事务中的所有命令:

redis 127.0.0.1:6379> MULTIOKredis 127.0.0.1:6379> SET book-name "Mastering C++ in 21 days"QUEUEDredis 127.0.0.1:6379> GET book-nameQUEUEDredis 127.0.0.1:6379> SADD tag "C++" "Programming" "Mastering Series"QUEUEDredis 127.0.0.1:6379> SMEMBERS tagQUEUEDredis 127.0.0.1:6379> EXEC1) OK2) "Mastering C++ in 21 days"3) (integer) 34) 1) "Mastering Series"   2) "C++"   3) "Programming"
5.脚本

Eval 命令的基本语法如下:

redis 127.0.0.1:6379> EVAL script numkeys key [key ...] arg [arg ...]

实例

以下实例演示了 redis 脚本工作过程:

redis 127.0.0.1:6379> EVAL "return {KEYS[1],KEYS[2],ARGV[1],ARGV[2]}" 2 key1 key2 first second1) "key1"2) "key2"3) "first"4) "second"
6.管道技术

Redis 管道技术可以在服务端未响应时,客户端可以继续向服务端发送请求,并最终一次性读取所有服务端的响应。

实例

查看 redis 管道,只需要启动 redis 实例并输入以下命令:

$(echo -en "PING\r\n SET runoobkey redis\r\nGET runoobkey\r\nINCR visitor\r\nINCR visitor\r\nINCR visitor\r\n"; sleep 10) | nc localhost 6379+PONG+OKredis:1:2:3

以上实例中我们通过使用 PING 命令查看redis服务是否可用, 之后我们们设置了 runoobkey 的值为 redis,然后我们获取 runoobkey 的值并使得 visitor 自增 3 次。

在返回的结果中我们可以看到这些命令一次性向 redis 服务提交,并最终一次性读取所有服务端的响应

Java 使用 Redis

安装

开始在 Java 中使用 Redis 前, 我们需要确保已经安装了 redis 服务及 Java redis 驱动,且你的机器上能正常使用 Java。 Java的安装配置可以参考我们的 Java开发环境配置 接下来让我们安装 Java redis 驱动:

  • 首先你需要下载驱动包 下载 jedis.jar,确保下载最新驱动包。
  • 在你的 classpath 中包含该驱动包。

本站提供了 2.9.0 jar 版本下载: jedis-2.9.0.jar


连接到 redis 服务

实例

importredis.clients.jedis.Jedis;publicclassRedisJava{publicstaticvoidmain(String[]args){//连接本地的 Redis 服务Jedisjedis =newJedis("localhost");System.out.println("连接成功");//查看服务是否运行System.out.println("服务正在运行:"+jedis.ping());}}

编译以上 Java 程序,确保驱动包的路径是正确的。

连接成功服务正在运行: PONG

Redis Java String(字符串) 实例

实例

importredis.clients.jedis.Jedis;publicclassRedisStringJava{publicstaticvoidmain(String[]args){//连接本地的 Redis 服务Jedisjedis =newJedis("localhost");System.out.println("连接成功");//设置 redis 字符串数据jedis.set("runoobkey","www.runoob.com");// 获取存储的数据并输出System.out.println("redis 存储的字符串为: "+jedis.get("runoobkey"));}}

编译以上程序。

连接成功redis 存储的字符串为: www.runoob.com

Redis Java List(列表) 实例

实例

importjava.util.List;importredis.clients.jedis.Jedis;publicclassRedisListJava{publicstaticvoidmain(String[]args){//连接本地的 Redis 服务Jedisjedis =newJedis("localhost");System.out.println("连接成功");//存储数据到列表中jedis.lpush("site-list","Runoob");jedis.lpush("site-list","Google");jedis.lpush("site-list","Taobao");// 获取存储的数据并输出List<String>list =jedis.lrange("site-list",0 ,2);for(inti=0;i<list.size();i++){System.out.println("列表项为:"+list.get(i));}}}

编译以上程序。

连接成功列表项为: Taobao列表项为: Google列表项为: Runoob

Redis Java Keys 实例

实例

importjava.util.Iterator;importjava.util.Set;importredis.clients.jedis.Jedis;publicclassRedisKeyJava{publicstaticvoidmain(String[]args){//连接本地的 Redis 服务Jedisjedis =newJedis("localhost");System.out.println("连接成功");// 获取数据并输出Set<String>keys =jedis.keys("*");Iterator<String>it=keys.iterator() ; while(it.hasNext()){Stringkey =it.next();System.out.println(key);}}}

编译以上程序。

连接成功runoobkeysite-list

三、在Java的maven工程中使用



附:

1.redis命令集:http://redisdoc.com/index.html#

2.








原创粉丝点击