首次发布路径:phpredis的安装
很久很久没有写博文了,好多博文都没有整理完毕,今天才抽时间整理完这一篇博文,希望能对大家有一定的帮助
首先对redis做个简单的介绍:
Redis 是完全开源免费的,遵守BSD协议,先进的key ? value持久化产品。它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets)和 有序集合(sorted sets)等类型。
这是官网的中文翻译,英文的就没必要写上来了,如果想看英文的,可以去redis.io上去看看,中文的可以去redis.cn看看
关于php-redis的安装和使用已经有很多人写过去了,我在这里只是完成一个验证的过程
安装redis
wget http://download.redis.io/redis-stable.tar.gz
tar xvzf redis-stable.tar.gz
cd redis-stable
make
sudo make install (如果是root用户可以不用sudo)
安装完毕后,拷贝下配置文件redis.conf,这里是为了更方便的使用
sudo mkdir /etc/redis/
sudo cp redis.conf /etc/redis/
这时启动下redis看看,启动方法:
redis-server /etc/redis/redis.conf
启动后的界面效果:
geeknimo@bogon:~/Documents/phpredis$ redis-server /etc/redis/redis.conf
[16859] 07 Aug 10:05:30.292 # You requested maxclients of 10000 requiring at least 10032 max file descriptors.
[16859] 07 Aug 10:05:30.293 # Redis can’t set maximum open files to 10032 because of OS error: Operation not permitted.
[16859] 07 Aug 10:05:30.293 # Current maximum open files is 1024. maxclients has been reduced to 4064 to compensate for low ulimit. If you need higher maxclients increase ‘ulimit -n’.
[16859] 07 Aug 10:05:30.293 # Warning: 32 bit instance detected but no memory limit set. Setting 3 GB maxmemory limit with ‘noeviction’ policy now.
_._
_.-“__ ”-._
_.-“ `. `_. ”-._ Redis 2.8.13 (00000000/0) 32 bit
.-“ .-“`. “`\/ _.,_ ”-._
( ‘ , .-` | `, ) Running in stand alone mode
|`-._`-…-` __…-.“-._|’` _.-’| Port: 6379
| `-._ `._ / _.-’ | PID: 16859
`-._ `-._ `-./ _.-’ _.-’
|`-._`-._ `-.__.-’ _.-’_.-’|
| `-._`-._ _.-’_.-’ | http://redis.io
`-._ `-._`-.__.-’_.-’ _.-’
|`-._`-._ `-.__.-’ _.-’_.-’|
| `-._`-._ _.-’_.-’ |
`-._ `-._`-.__.-’_.-’ _.-’
`-._ `-.__.-’ _.-’
`-._ _.-’
`-.__.-’
[16859] 07 Aug 10:05:30.308 # Server started, Redis version 2.8.13
[16859] 07 Aug 10:05:30.308 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add ‘vm.overcommit_memory = 1′ to /etc/sysctl.conf and then reboot or run the command ‘sysctl vm.overcommit_memory=1′ for this to take effect.
[16859] 07 Aug 10:05:30.308 * The server is now ready to accept connections on port 6379
如果想要后台运行,可以执行redis-server /etc/redis/redis.conf & ,或者修改配置文件/etc/redis/redis.conf中的daemonize设置为yes即可。
设置为daemonize后,启动redis-server,并使用redis-cli对redis-server进行连接
redis-cli
连接成功后:
geeknimo@bogon:~/Documents/phpredis$ redis-cli
127.0.0.1:6379>
输入info查看:
127.0.0.1:6379> info
# Server
redis_version:2.8.13
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:7331093c2c819968
redis_mode:standalone
os:Linux 3.2.0-29-generic-pae i686
arch_bits:32
multiplexing_api:epoll
gcc_version:4.6.3
process_id:16890
run_id:660fc790eb501ea29b01b8bb9551f4711ab5f151
tcp_port:6379
uptime_in_seconds:6
uptime_in_days:0
hz:10
lru_clock:14868319
config_file:/etc/redis/redis.conf
# Clients
connected_clients:1
client_longest_output_list:0
client_biggest_input_buf:0
blocked_clients:0
# Memory
used_memory:424880
used_memory_human:414.92K
used_memory_rss:1609728
used_memory_peak:424880
used_memory_peak_human:414.92K
used_memory_lua:22528
mem_fragmentation_ratio:3.79
mem_allocator:jemalloc-3.6.0
# Persistence
loading:0
rdb_changes_since_last_save:0
rdb_bgsave_in_progress:0
rdb_last_save_time:1407377241
rdb_last_bgsave_status:ok
rdb_last_bgsave_time_sec:-1
rdb_current_bgsave_time_sec:-1
aof_enabled:0
aof_rewrite_in_progress:0
aof_rewrite_scheduled:0
aof_last_rewrite_time_sec:-1
aof_current_rewrite_time_sec:-1
aof_last_bgrewrite_status:ok
aof_last_write_status:ok
# Stats
total_connections_received:1
total_commands_processed:0
instantaneous_ops_per_sec:0
rejected_connections:0
sync_full:0
sync_partial_ok:0
sync_partial_err:0
expired_keys:0
evicted_keys:0
keyspace_hits:0
keyspace_misses:0
pubsub_channels:0
pubsub_patterns:0
latest_fork_usec:0
# Replication
role:master
connected_slaves:0
master_repl_offset:0
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0
# CPU
used_cpu_sys:0.00
used_cpu_user:0.00
used_cpu_sys_children:0.00
used_cpu_user_children:0.00
# Keyspace
这就表明redis服务启动成功了,至于优化嘛,后面的文章再说
接下来我们去配置php-redis
首先要安装git,php5,apache2,php5-dev
sudo apt-get install php5 php5-dev apache2
安装需要点时间
在php-redis源代码目录下,执行
git clone https://github.com/nicolasff/phpredis.git
phpize
./configure
make && sudo make install
提示信息:
Installing shared extensions: /usr/lib/php5/20121212+lfs/
共享库在上面提示的路径下
配置php-redis
在/var/www/html下创建index.php,里面写上如下内容:
phpinfo();
?>
并在/etc/php5/mods-available下建立一个redis.ini,内容如下:
extension=redis.so
并在/etc/php5/apache2/conf.d和/etc/php5/cli/conf.d下建立一个与redis.ini的软链接,其中cli这个部分很关键,否则php -m无法得到redis的任何模块信息,即无法成功加载使用phpredis
ln -s /etc/php5/mods-available/redis.ini /etc/php5/cli/conf.d/10-redis.ini
ln -s /etc/php5/mods-available/redis.ini /etc/php5/apache2/conf.d/10-redis.ini
重启apache2服务
sudo service apache2 restart
这里打开ubuntu对应的ip/index.php就可以看到php-redis的配置
Additional .ini files parsed | /etc/php5/apache2/conf.d/05-opcache.ini, /etc/php5/apache2/conf.d/10-pdo.ini, /etc/php5/apache2/conf.d/10-redis.ini, /etc/php5/apache2/conf.d/20-json.ini, /etc/php5/apache2/conf.d/20-readline.ini |
redis
Redis Version | 2.2.5 |
session
Session Support | enabled |
Registered save handlers | files user redis |
Registered serializer handlers | php_serialize php php_binary wddx |
有了这些信息后开始进行测试代码
建立testredis.php,内容如下:
$redis = new Redis();
$redis->connect(’127.0.0.1′,6379);
var_dump($redis->info());
?>
这时执行php testredis.php
可以在终端看到对应的内容
也可以在web端看到相应的内容了。
这样就算基本上搭建好了php-redis。

PHP는 현대적인 프로그래밍, 특히 웹 개발 분야에서 강력하고 널리 사용되는 도구로 남아 있습니다. 1) PHP는 사용하기 쉽고 데이터베이스와 완벽하게 통합되며 많은 개발자에게 가장 먼저 선택됩니다. 2) 동적 컨텐츠 생성 및 객체 지향 프로그래밍을 지원하여 웹 사이트를 신속하게 작성하고 유지 관리하는 데 적합합니다. 3) 데이터베이스 쿼리를 캐싱하고 최적화함으로써 PHP의 성능을 향상시킬 수 있으며, 광범위한 커뮤니티와 풍부한 생태계는 오늘날의 기술 스택에 여전히 중요합니다.

PHP에서는 약한 참조가 약한 회의 클래스를 통해 구현되며 쓰레기 수집가가 물체를 되 찾는 것을 방해하지 않습니다. 약한 참조는 캐싱 시스템 및 이벤트 리스너와 같은 시나리오에 적합합니다. 물체의 생존을 보장 할 수 없으며 쓰레기 수집이 지연 될 수 있음에 주목해야합니다.

\ _ \ _ 호출 메소드를 사용하면 객체를 함수처럼 호출 할 수 있습니다. 1. 객체를 호출 할 수 있도록 메소드를 호출하는 \ _ \ _ 정의하십시오. 2. $ obj (...) 구문을 사용할 때 PHP는 \ _ \ _ invoke 메소드를 실행합니다. 3. 로깅 및 계산기, 코드 유연성 및 가독성 향상과 같은 시나리오에 적합합니다.

섬유는 PHP8.1에 도입되어 동시 처리 기능을 향상시켰다. 1) 섬유는 코 루틴과 유사한 가벼운 동시성 모델입니다. 2) 개발자는 작업의 실행 흐름을 수동으로 제어 할 수 있으며 I/O 집약적 작업을 처리하는 데 적합합니다. 3) 섬유를 사용하면보다 효율적이고 반응이 좋은 코드를 작성할 수 있습니다.

PHP 커뮤니티는 개발자 성장을 돕기 위해 풍부한 자원과 지원을 제공합니다. 1) 자료에는 공식 문서, 튜토리얼, 블로그 및 Laravel 및 Symfony와 같은 오픈 소스 프로젝트가 포함됩니다. 2) 지원은 StackoverFlow, Reddit 및 Slack 채널을 통해 얻을 수 있습니다. 3) RFC에 따라 개발 동향을 배울 수 있습니다. 4) 적극적인 참여, 코드에 대한 기여 및 학습 공유를 통해 커뮤니티에 통합 될 수 있습니다.

PHP와 Python은 각각 고유 한 장점이 있으며 선택은 프로젝트 요구 사항을 기반으로해야합니다. 1.PHP는 간단한 구문과 높은 실행 효율로 웹 개발에 적합합니다. 2. Python은 간결한 구문 및 풍부한 라이브러리를 갖춘 데이터 과학 및 기계 학습에 적합합니다.

PHP는 죽지 않고 끊임없이 적응하고 진화합니다. 1) PHP는 1994 년부터 새로운 기술 트렌드에 적응하기 위해 여러 버전 반복을 겪었습니다. 2) 현재 전자 상거래, 컨텐츠 관리 시스템 및 기타 분야에서 널리 사용됩니다. 3) PHP8은 성능과 현대화를 개선하기 위해 JIT 컴파일러 및 기타 기능을 소개합니다. 4) Opcache를 사용하고 PSR-12 표준을 따라 성능 및 코드 품질을 최적화하십시오.

PHP의 미래는 새로운 기술 트렌드에 적응하고 혁신적인 기능을 도입함으로써 달성 될 것입니다. 1) 클라우드 컴퓨팅, 컨테이너화 및 마이크로 서비스 아키텍처에 적응, Docker 및 Kubernetes 지원; 2) 성능 및 데이터 처리 효율을 향상시키기 위해 JIT 컴파일러 및 열거 유형을 도입합니다. 3) 지속적으로 성능을 최적화하고 모범 사례를 홍보합니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

WebStorm Mac 버전
유용한 JavaScript 개발 도구

Dreamweaver Mac版
시각적 웹 개발 도구

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경
