查看“Redis:客户端”的源代码
←
Redis:客户端
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
[[category:Redis]] == 关于 == 可以通过多种方式使用Redis:客户端、其他语言(如:Java、PHP)等。 == 客户端 == Redis 通过监听一个 TCP 端口或者 Unix socket 的方式来接收来自客户端的连接,当一个连接建立后,Redis 内部会进行以下一些操作: # 首先,客户端 socket 会被设置为非阻塞模式,因为 Redis 在网络事件处理上采用的是'''非阻塞多路复用'''模型。【???】 # 然后为这个 socket 设置 TCP_NODELAY 属性,禁用 Nagle 算法 # 然后创建一个可读的文件事件用于监听这个客户端 socket 的数据发送 === 客户端命令 === {| class="wikitable" ! 命令 !! 描述 |- | CLIENT LIST || 返回连接到 redis 服务的客户端列表 |- | CLIENT SETNAME || 设置当前连接的名称 |- | CLIENT GETNAME || 获取通过 CLIENT SETNAME 命令设置的服务名称 |- | CLIENT PAUSE || 挂起客户端连接,指定挂起的时间以毫秒计 |- | CLIENT KILL || 关闭客户端连接 |} === 关于“最大连接数” === 在 Redis 2.4 中,最大连接数是被直接硬编码在代码里面的,而在 2.6 版本中这个值变成可配置的。 * maxclients 的默认值是 '''10000'''。 # 可以在 redis.conf 中对这个值进行修改: *: <syntaxhighlight lang="java" highlight=""> config get maxclients 1) "maxclients" 2) "10000" </syntaxhighlight> # 也可以在服务启动时设置: *: <syntaxhighlight lang="java" highlight=""> redis-server --maxclients 100000 </syntaxhighlight> == Java == 开始在 Java 中使用 Redis 前, 需要确保已经安装了 redis 服务及 Java redis 驱动,且你的机器上能正常使用 Java。 === 安装驱动 === Java 的安装配置可以参考 Java 开发环境配置: # 下载驱动包“'''jedis.jar'''”; # 在 classpath 中包含该驱动包。 * jedis的jar包依赖Maven配置:(jedis也依赖“Apache Commons Pool 2 2.0”) *:<syntaxhighlight lang="xml"> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </dependency> </syntaxhighlight> === 示例 === # 连接到 redis 服务: #: <syntaxhighlight lang="java" highlight=""> import redis.clients.jedis.Jedis; public class RedisJava { public static void main(String[] args) { //连接 Redis 服务 // Jedis jedis = new Jedis("192.168.1.103", 6379); Jedis jedis = new Jedis("localhost"); // 如果 Redis 服务设置了密码,需要下面这行,没有就不需要 // jedis.auth("123456"); System.out.println("连接成功"); //查看服务是否运行 System.out.println("服务正在运行: "+jedis.ping()); } } </syntaxhighlight> #: <syntaxhighlight lang="java" highlight=""> 连接成功 服务正在运行: PONG </syntaxhighlight> # Redis Java String(字符串)实例: #: <syntaxhighlight lang="java" highlight=""> import redis.clients.jedis.Jedis; public class RedisStringJava { public static void main(String[] args) { //连接本地的 Redis 服务 Jedis jedis = new Jedis("localhost"); System.out.println("连接成功"); //设置 redis 字符串数据 jedis.set("runoobkey", "www.runoob.com"); // 获取存储的数据并输出 System.out.println("redis 存储的字符串为: "+ jedis.get("runoobkey")); } } </syntaxhighlight> #: <syntaxhighlight lang="java" highlight=""> 连接成功 redis 存储的字符串为: www.runoob.com </syntaxhighlight> # Redis Java List(列表)实例: #: <syntaxhighlight lang="java" highlight=""> import java.util.List; import redis.clients.jedis.Jedis; public class RedisListJava { public static void main(String[] args) { //连接本地的 Redis 服务 Jedis jedis = new Jedis("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(int i=0; i<list.size(); i++) { System.out.println("列表项为: "+list.get(i)); } } } </syntaxhighlight> #: <syntaxhighlight lang="java" highlight=""> 连接成功 列表项为: Taobao 列表项为: Google 列表项为: Runoob </syntaxhighlight> # Redis Java Keys 实例: #: <syntaxhighlight lang="java" highlight=""> import java.util.Iterator; import java.util.Set; import redis.clients.jedis.Jedis; public class RedisKeyJava { public static void main(String[] args) { //连接本地的 Redis 服务 Jedis jedis = new Jedis("localhost"); System.out.println("连接成功"); // 获取数据并输出 Set<String> keys = jedis.keys("*"); Iterator<String> it=keys.iterator() ; while(it.hasNext()){ String key = it.next(); System.out.println(key); } } } </syntaxhighlight> #: <syntaxhighlight lang="java" highlight=""> 连接成功 runoobkey site-list </syntaxhighlight> == PHP == 开始在 PHP 中使用 Redis 前,需要确保已经安装了 redis 服务及 PHP redis 驱动,且你的机器上能正常使用 PHP。 * PHP redis 驱动:下载地址为:[https://github.com/phpredis/phpredis/releases https://github.com/phpredis/phpredis/releases]。 === 安装驱动 === # 安装“'''phpredis'''”扩展: #* 以下操作需要在下载的 phpredis 目录中完成。 #: <syntaxhighlight lang="bash" highlight=""> $ wget https://github.com/phpredis/phpredis/archive/3.1.4.tar.gz $ tar zxvf 3.1.4.tar.gz # 解压 $ cd phpredis-3.1.4 # 进入 phpredis 目录 $ /usr/local/php/bin/phpize # php安装后的路径 $ ./configure --with-php-config=/usr/local/php/bin/php-config $ make && make install </syntaxhighlight> # 修改 php.ini 文件: #: <syntaxhighlight lang="bash" highlight=""> vi /usr/local/php/lib/php.ini </syntaxhighlight> #: 增加如下内容: #: <syntaxhighlight lang="bash" highlight=""> extension_dir = "/usr/local/php/lib/php/extensions/no-debug-zts-20090626" extension=redis.so </syntaxhighlight> 安装完成后重启 php-fpm 或 apache,查看 phpinfo 信息,就能看到 redis 扩展: : [[File:Redis:PHP安装“phpredis”扩展.png|600px]] === 示例 === # 连接到 redis 服务: #: <syntaxhighlight lang="php" highlight=""> <?php //连接本地的 Redis 服务 $redis = new Redis(); $redis->connect('127.0.0.1', 6379); echo "Connection to server successfully"; //查看服务是否运行 echo "Server is running: " . $redis->ping(); ?> </syntaxhighlight> #: <syntaxhighlight lang="php" highlight=""> Connection to server sucessfully Server is running: PONG </syntaxhighlight> # Redis PHP String(字符串)实例: #: <syntaxhighlight lang="php" highlight=""> <?php //连接本地的 Redis 服务 $redis = new Redis(); $redis->connect('127.0.0.1', 6379); echo "Connection to server successfully"; //设置 redis 字符串数据 $redis->set("tutorial-name", "Redis tutorial"); // 获取存储的数据并输出 echo "Stored string in redis:: " . $redis->get("tutorial-name"); ?> </syntaxhighlight> #: <syntaxhighlight lang="php" highlight=""> Connection to server sucessfully Stored string in redis:: Redis tutorial </syntaxhighlight> # Redis PHP List(列表)实例: #: <syntaxhighlight lang="php" highlight=""> <?php //连接本地的 Redis 服务 $redis = new Redis(); $redis->connect('127.0.0.1', 6379); echo "Connection to server successfully"; //存储数据到列表中 $redis->lpush("tutorial-list", "Redis"); $redis->lpush("tutorial-list", "Mongodb"); $redis->lpush("tutorial-list", "Mysql"); // 获取存储的数据并输出 $arList = $redis->lrange("tutorial-list", 0 ,5); echo "Stored string in redis"; print_r($arList); ?> </syntaxhighlight> #: <syntaxhighlight lang="php" highlight=""> Connection to server sucessfully Stored string in redis Mysql Mongodb Redis </syntaxhighlight> # Redis PHP Keys 实例: #: <syntaxhighlight lang="php" highlight=""> <?php //连接本地的 Redis 服务 $redis = new Redis(); $redis->connect('127.0.0.1', 6379); echo "Connection to server successfully"; // 获取数据并输出 $arList = $redis->keys("*"); echo "Stored keys in redis:: "; print_r($arList); ?> </syntaxhighlight> #: <syntaxhighlight lang="php" highlight=""> Connection to server sucessfully Stored string in redis:: tutorial-name tutorial-list </syntaxhighlight>
返回至“
Redis:客户端
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
已展开
已折叠
查看
阅读
查看源代码
查看历史
更多
已展开
已折叠
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
笔记
服务器
数据库
后端
前端
工具
《To do list》
日常
阅读
电影
摄影
其他
Software
Windows
WIKIOE
所有分类
所有页面
侧边栏
站点日志
工具
链入页面
相关更改
特殊页面
页面信息