当前位置:首页 » 编程语言 » php支持redis

php支持redis

发布时间: 2022-12-25 20:51:18

1. redis都支持哪些语言,javaphp以外还有吗支持Android,C#吗对于Android怎么用

Java连接redis的使用示例
Redis是开源的key-value存储工具,redis通常用来存储结构化的数据,因为redis的key可以包含String、hash、listset和sorted list。

Redisclient支持多种语言,包括:c、C++、C#、php、java、python、go等语言,根据自己的开发语言,选择合适的redis client版本类型即可。我是使用java语言开发的,针对java语言,redis client也提供了多种客户端支持,按照推荐类型依次是:Jedis、Redisson、JRedis、JDBC-Redis、RJC、redis-protocol、aredis、lettuce。前两种类型是比较推荐的,我们采用了Redisson类型版本作为redisclient的使用。

Redisson版的redis可发工程搭建
1. 新建maven工程
2. 在pom.xml文件的dependencies节点下增加如下内容:

<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson</artifactId>
<version>1.0.2</version>
</dependency>

<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.7</version>
</dependency>

3. 保存pom.xml后,等eclispe工程构建完成后即可进行开发了

开发示例
下面是演示连接redis服务器、保存读取concurrentMap对象、保存读取set对象和保存读取Queue对象的示例代码,代码比较简单,这里就不再详细讲解了,代码如下:
[java] view plain
package com.my.test.redis;

import java.util.Queue;
import java.util.Set;
import java.util.concurrent.ConcurrentMap;

import org.redisson.Config;
import org.redisson.Redisson;

public class RedisExample {

/**
* @param args
*/
public static void main(String[] args) {
// 1.初始化
Config config = new Config();
config.setConnectionPoolSize(10);
config.addAddress("127.0.0.1:6379");
Redisson redisson = Redisson.create(config);
System.out.println("reids连接成功...");

// 2.测试concurrentMap,put方法的时候就会同步到redis中
ConcurrentMap<String, Object> map = redisson.getMap("FirstMap");
map.put("wuguowei", "男");
map.put("zhangsan", "nan");
map.put("lisi", "女");

ConcurrentMap resultMap = redisson.getMap("FirstMap");
System.out.println("resultMap==" + resultMap.keySet());

// 2.测试Set集合
Set mySet = redisson.getSet("MySet");
mySet.add("wuguowei");
mySet.add("lisi");

Set resultSet = redisson.getSet("MySet");
System.out.println("resultSet===" + resultSet.size());

//3.测试Queue队列
Queue myQueue = redisson.getQueue("FirstQueue");
myQueue.add("wuguowei");
myQueue.add("lili");
myQueue.add("zhangsan");
myQueue.peek();
myQueue.poll();

Queue resultQueue=redisson.getQueue("FirstQueue");
System.out.println("resultQueue==="+resultQueue);

// 关闭连接
redisson.shutdown();
}

}

2. 用phpredis操作redis集群支持publish和subscribe吗

用phpredis操作redis集群支持publish和subscribe
参数可选Redis::MULTI或Redis::PIPELINE. 默认是 Redis::MULTI
Redis::MULTI:将多个操作当成一个事务执行
Redis::PIPELINE:让(多条)执行命令简单的,更加快速的发送给服务器,但是没有任何原子性的保证
discard:删除一个事务
返回值
multi(),返回一个redis对象,并进入multi-mode模式,一旦进入multi-mode模式,
以后调用的所有方法都会返回相同的对象,只到exec()方法被调用。

watch, unwatch (代码测试后,不能达到所说的效果)
监测一个key的值是否被其它的程序更改。如果这个key在watch 和 exec (方法)间被修改,
这个 MULTI/EXEC 事务的执行将失败(return false)
unwatch 取消被这个程序监测的所有key

3. 在php中 为什么不能使用redis类

redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
Redis 是一个高性能的key-value数据库。redis的出现,很大程度补偿了memcached这类keyvalue存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Python,Ruby,Erlang,PHP客户端,使用很方便。
若想在PHP中使用redis,首先要先安装redis。然后在PHP中配置扩展。
安装redis。
首先下载好redis安装文件,解压到D盘或其他盘。
然后通过Dos命令行进行安装。
把这个文件夹复制到其它地方,比如D:\redis 目录下。
打开一个cmd窗口 使用cd命令切换目录到D:\redis 运行 redis-server.exe redis.conf
如果想方便的话,可以把redis的路径加到系统的环境变量里,这样就省得再输路径了,后面的那个redis.conf可以省略,如果省略,会启用默认的。
这时候另启一个cmd窗口,原来的不要关闭,不然就无法访问服务端了
切换到redis目录下运行 redis-cli.exe -h 127.0.0.1 -p 6379

这时候,就已经完成配置了。
完成了配置之后,要在PHP中添加redis的扩展,之后才可以用PHP灵活的使用它。
在windows下安装php的redis扩展非常简单,下载一个.dll扩展包放到php的ext目录下,在php.ini里边添加一行配置就可以了。

php代码测试

redis=newRedis();redis->connect(‘127.0.0.1′,6379);
redis−>set(‘test′,′helloworld!′);echoredis->get(‘test’);

输出hello world!

4. phpredis 3.1.2升级到4.3.0修改点

关于连接池:
./README.markdown:Starting from version 4.2.1, it became possible to use connection pooling by setting INI variable redis.pconnect.pooling_enabled to 1.
从4.2.1开始支持连接池

相关两个配置:
/* redis pconnect */
PHP_INI_ENTRY("redis.pconnect.pooling_enabled", "1", PHP_INI_ALL, NULL) //默认支持连接池
PHP_INI_ENTRY("redis.pconnect.connection_limit", "0", PHP_INI_ALL, NULL) //默认最大连接池的个数为0 还是重复用之前的连接 如果没有之前的连接(php 的pconect会在fpm进程周期内被重用) 那么创建新的

这两个值需要在配置文件中配置,比如在php.ini文件配置.

5. php如何解决redis的存取乱码问题

php文件的编码格式:
header("charset=utf-8");

在存储前,先把存储的字符串转码。
$string = iconv('UTF-8','GBK',$string);

这时候存储在redis中的中文就是GBK字符集的,读取的时候不是乱码了。
原理是window大部分系统上支持GBK字符集。

6. php redis 如何解决回复功能

redis会将数据存储在内存中,断电丢失。这个要注意一下,如有必要就做个持久化。持久化的方法一言难尽,可以参考网上的文章。


php的redis扩展叫php-redis。网上有php-redis的中文手册,下面给你一个示例:

<?php
$redis=newredis();
$result=$redis->connect('127.0.0.1',6379);//6379是默认端口
$result=$redis->set('9639002718',"comment");//设置键值
echo$result=$redis->get('9639002718');//获取键值
$all=$redis->getMultiple(array('9639002718','9639002718'));//同时获得多个键值

//没有提供获得所有键值的方法。下面这句我不确定是否能用,你可以试一试。
$all=$redis->getMultiple(array('*'));

望采纳,谢谢支持!

7. linux 下php怎么安装redis

1、PHP redis下载地址:http://pecl.php.net/package/redis
[cc lang="bash" escaped="true"][root@Redis ~]# wget http://pecl.php.net/get/redis-2.2.7.tgz[/cc]

2、解压安装并进入Redis目录
[cc lang="bash" escaped="true"][root@Redis ~]# tar xzf redis-2.2.5.tgz
[root@Redis ~]# cd redis-2.2.5[/cc]

3、在Redis文件夹下,生成configure配置文件
[cc lang="bash" escaped="true"][root@Redis redis-2.2.5]# /usr/local/php/bin/phpize
Configuring for:
PHP Api Version: 20090626
Zend Mole Api No: 20090626
Zend Extension Api No: 220090626

[root@Redis redis-2.2.5]# ./configure --with-php-config=/usr/local/php/bin/php-config
[root@Redis redis-2.2.5]# make
[root@Redis redis-2.2.5]# make install
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/
cp: cannot create regular file `/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/#INST@6338#': Permission denied
make: *** [install-moles] Error 1

注意:一定要用root用户。
[root@Redis redis-2.2.5]# su
Password:
[root@web redis-2.2.5]# make install[/cc]

4、在PHP配置文件php.ini里面加载Redis扩展
[cc lang="vim" escaped="true"]extension=redis.so[/cc]

5、查看phpinfo,Redis扩展是否加载
redis
Redis Support enabled
Redis Version 2.2.5
至此,Redis扩展已经安装成功并加载,可以用PHP操作Redis了。
附:
windows下安装Redis扩展就更加简单了,找到对应的版本,下载dll文件,放到PHP目录下面的ext,修改PHP的配置文件php.ini,加载extension=php_redis.dll,重启Apache,查看phpinfo是否有Redis,如果有就恭喜你,已经安装成功了,就是这么简单。

8. linux下怎么安装php的redis扩展

你好,
1、安装编译工具
2、安装tcl组件包(安装Redis需要tcl支持)
3、安装Redis
4、设置redis开机启动
5、设置redis配置文件参数
6、测试redis数据库
7、通过php程序连接redis数据库
#php必须先安装Redis扩展
至此,Linux下Redis服务器安装配置完成。

9. linux 安装redis 还需要安装php扩展吗

1、安装redis
上传phpredis-2.2.4.tar.gz到/usr/local/src目录
cd /usr/local/src #进入软件包存放目录
tar zxvf phpredis-2.2.4.tar.gz #解压
cd phpredis-2.2.4 #进入安装目录
/usr/local/php/bin/phpize #用phpize生成configure配置文件
./configure --with-php-config=/usr/local/php/bin/php-config #配置
make #编译
make install #安装
安装完成之后,出现下面的安装路径
/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/
2、配置php支持
vi /usr/local/php/etc/php.ini #编辑配置文件,在最后一行添加以下内容
添加
extension="redis.so"
:wq! #保存退出

3 重启服务
sudo service nginx restart
sudo /etc/init.d/php-fpm restart

10. 怎么安装redis PHP扩展,windows下

1、首先到相应网站下载redis:

下载完成后解压到任意盘符如:D:/redis

里面包括:如图所示。

redis-server.exe:服务程序

redis-check-mp.exe:本地数据库检查

redis-check-aof.exe:更新日志检查

redis-benchmark.exe:性能测试,用以模拟同时由N个客户端发送M个 SETs/GETs 查询 (类似于 Apache 的ab 工具).

当然还需要一个:redis.conf(具体内容网上随便搜都会有)

8、PHP代码测试

$redis = new Redis();

$redis->connect("192.168.138.2","6379"); //php客户端设置的ip及端口

//存储一个 值

$redis->set("say","Hello World");

echo $redis->get("say"); //应输出Hello World

//存储多个值

$array = array('first_key'=>'first_val',

'second_key'=>'second_val',

'third_key'=>'third_val');

$array_get = array('first_key','second_key','third_key');

$redis->mset($array);

var_mp($redis->mget($array_get));

热点内容
雷神g50如何设置安卓原生模式 发布:2024-05-19 16:50:04 浏览:120
c语言小数四舍五入 发布:2024-05-19 16:23:28 浏览:524
数据库被注入攻击 发布:2024-05-19 16:21:31 浏览:834
微信忘记密码从哪里看 发布:2024-05-19 16:06:37 浏览:32
宝马x4贷款买哪个配置好 发布:2024-05-19 15:56:03 浏览:22
微控pid算法 发布:2024-05-19 15:46:31 浏览:135
云盘视频解压密码 发布:2024-05-19 15:23:17 浏览:848
和平精英怎么改地区位置安卓 发布:2024-05-19 15:19:05 浏览:286
酒店的路由器如何配置 发布:2024-05-19 15:10:44 浏览:500
rpgmaker脚本 发布:2024-05-19 14:48:58 浏览:407