php框架CodeIgniter使用redis的方法讲解
这篇文章主要介绍了php框架CodeIgniter使用redis的方法,结合实例形式分析了redis的安装、设置及CodeIgniter使用redis的相关操作技巧与注意事项,需要的朋友可以参考下
本文实例讲述了php框架CodeIgniter使用redis的方法。分享给大家供大家参考,具体如下:
1、安装redis
首先计算机上必须已经装了redis服务(redis数据库)并运行,详见另一篇文章://www.jb51.net/article/138173.htm
2、安装phpredis
① 下载
项目地址:https://github.com/phpredis/phpredis(可以不管这个),这里面提到,windows版本的phpredis要自己编译,当然我们不能这么蛮干。
说下我走过的弯路,一开始从http://windows.php.net/downloads/pecl/snaps/redis/20160319/(这个也可以不管)下载了,一直都弄不好,其实这个vc14是7.0版本的php,我们需要的是7.1版本的,所以一直就是错,找不到问题所在,直到找到这个:
http://pecl.php.net/package-stats.php
对应的版本点进去:
http://pecl.php.net/package/redis/3.1.1/windows
下载7.1对应的版本。
② 安装
将下载解压的php_redis.dll放在php解释器的ext,会发现mysql等的模块也都放在这里,然后打开php.ini,找到;extension=php_bz2.dll
,在其上面添加extension=php_redis.dll
,
也就是在extension的配置区域的头部,添加上这个redis的配置。安装就算完成了。
③ 查看配置信息
重启服务器或者重启计算机,index.php的路径下添加一个查看页面:phpinfo.php,在里面添加:
<?php echo phpinfo(); ?>
然后访问http://yourdomain.com/phpinfo.php,可以看到配置信息,寻找有没有redis配置成功的信息,如果有则配置完成了。
3、php原生的方式操作redis
// 原生redis类库,不需要config/redis.php $redis = new Redis(); $redis->connect('127.0.0.1',6379); //$redis->set('key10','xx10',20);//第三个参数是存续时间,单位是秒,如果不填则为永久 echo $redis->get('key10');
4、配置redis.php
在myApplication/config下创建文件redis.php:
<?php defined('BASEPATH') OR exit('No direct script access allowed'); /** * Created by PhpStorm. * Date: 2017/2/9 * Time: 13:32 */ $config['socket_type'] = 'tcp'; $config['host'] = '127.0.0.1'; $config['password'] = NULL; $config['port'] = 6379; $config['timeout'] = 0; ?>
不管是使用框架的redis库还是下面的自定义redis库都需要这个配置文件。
除了配置redis.php之外,还必须在
application/config/config.php里面配置我们使用的缓存类型,默认是这样的:
$config['sess_driver'] = 'files'; $config['sess_cookie_name'] = 'ci_session'; $config['sess_expiration'] = 7200; $config['sess_save_path'] = NULL; $config['sess_match_ip'] = FALSE; $config['sess_time_to_update'] = 300; $config['sess_regenerate_destroy'] = FALSE;
如果我们使用redis,那么要配置成类似这样:
$config['sess_driver'] = 'redis'; $config['sess_cookie_name'] = 'ci_session'; $config['sess_expiration'] = 0; $config['sess_save_path'] = 'tcp://127.0.0.1:xxxx'; $config['sess_match_ip'] = FALSE; $config['sess_time_to_update'] = 600; $config['sess_regenerate_destroy'] = TRUE;
5、使用CI框架的redis库
// 框架的redis库 $this->load->driver('cache'); $this->cache->redis->save('key11','xx11');//这里注意,第三个参数是时间,在自定义redis库会说明 echo $this->cache->redis->get('key11');
6、使用自定义的redis类库
① Rediscli_default.php
自定义redis类库可以从system/libraries/Cache/drivers/Cache_redis.php拷贝一份,改名为Rediscli_default.php,类名也改为Rediscli_default,除此之外无需改变,可以再自己添加更多方法。将其放在myApplication/libraries/Rediscli/drivers/下
② Rediscli.php
在myApplication/libraries/Rediscli/下创建一个Rediscli.php
<?php defined ( 'BASEPATH' ) or exit ( 'No direct script access allowed' ); /** * Created by PhpStorm. * Date: 2017/2/9 * Time: 20:00 */ class Rediscli extends CI_Driver_Library { public $valid_drivers; public $CI; function __construct() { $this->CI = & get_instance (); $this->valid_drivers = array ( 'default' ); } }
③ 调用
// 自定义类,需要配置 $this->load->driver('rediscli'); if ($this->rediscli->default->is_supported()) { echo $this->rediscli->default->get('key2'); }
④ 时间
这个自定义redis库和框架的库是一样的,在这里集中说明一下。
$this->cache->redis->save('key11','xx11',1000);
这是保存值,第3个参数是时间,这个时间不能省略。通过查看函数可以看到,这个参数默认值是60秒,而非永久,所以这个参数是不能省略的。
7、注意这种情况
// 文本存储 $this->load->driver('cache',array('adapter'=>'redis','backup'=>'file')); $this->cache->save('key5','xx5',10000); echo $this->cache->get('key5');//xx5
这个代码的意思是,首先使用redis来存储,如果没有找到的话,就使用文本存储。会发现在myApplication/cache存放了文本文件,每个key会有一个文本。
因为没有报错,所以一时可能不知道这个数据到底存在哪里。
这种还是少用吧,毕竟用redis是为了速度更快。
您可能感兴趣的文章:
Atas ialah kandungan terperinci php框架CodeIgniter使用redis的方法讲解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Terdapat perbezaan dalam prestasi rangka kerja PHP dalam persekitaran pembangunan yang berbeza. Persekitaran pembangunan (seperti pelayan Apache tempatan) mengalami prestasi rangka kerja yang lebih rendah disebabkan oleh faktor seperti prestasi pelayan tempatan yang lebih rendah dan alat penyahpepijatan. Sebaliknya, persekitaran pengeluaran (seperti pelayan pengeluaran berfungsi sepenuhnya) dengan pelayan yang lebih berkuasa dan konfigurasi yang dioptimumkan membolehkan rangka kerja berprestasi lebih baik dengan ketara.

Pilihan rangka kerja PHP bergantung pada keperluan projek dan kemahiran pembangun: Laravel: kaya dengan ciri dan komuniti aktif, tetapi mempunyai keluk pembelajaran yang curam dan overhed prestasi tinggi. CodeIgniter: ringan dan mudah dipanjangkan, tetapi mempunyai fungsi terhad dan kurang dokumentasi. Symfony: Bermodul, komuniti yang kuat, tetapi kompleks, isu prestasi. ZendFramework: Gred perusahaan, stabil dan boleh dipercayai, tetapi besar dan mahal untuk dilesenkan. Langsing: rangka kerja mikro, pantas, tetapi dengan fungsi terhad dan keluk pembelajaran yang curam.

Mengintegrasikan rangka kerja PHP dengan DevOps boleh meningkatkan kecekapan dan ketangkasan: mengautomasikan tugas yang membosankan, membebaskan kakitangan untuk fokus pada tugas strategik, memendekkan kitaran keluaran, mempercepatkan masa untuk memasarkan, meningkatkan kualiti kod, mengurangkan ralat, meningkatkan kerjasama pasukan merentas fungsi dan memecahkan silo pembangunan dan operasi

Prestasi rangka kerja PHP yang berbeza memberi kesan ketara kepada pemilihan aplikasi Ujian Penanda Aras menunjukkan prestasi Slim, Laravel, Symfony dan CodeIgniter seperti berikut: Slim: reka bentuk ringan, dengan kelajuan pemprosesan terpantas Laravel: sesuai untuk aplikasi besar, memproses pertanyaan kompleks Prestasi kuat Symfony. : rangka kerja peringkat perusahaan, prestasi cemerlang dalam mengendalikan logik perniagaan yang kompleks CodeIgniter: rangka kerja ringan, sesuai untuk aplikasi kecil Faktor-faktor seperti saiz aplikasi, kuasa pemprosesan, kerumitan kod dan skalabiliti perlu diambil kira untuk memilih yang paling sesuai Contohnya, e laman web -dagang mungkin memerlukan rangka kerja berprestasi tinggi seperti Laravel, manakala blog kecil mungkin lebih sesuai untuk Slim.

Nexo Exchange: Platform Pinjaman Cryptocurrency Swiss Analisis mendalam Nexo adalah platform yang menyediakan perkhidmatan pinjaman cryptocurrency, menyokong gadai janji dan pinjaman lebih daripada 40 aset crypto, mata wang fiat dan stablecoins. Ia menguasai pasaran Eropah dan Amerika dan komited untuk meningkatkan kecekapan, keselamatan dan pematuhan platform. Ramai pelabur ingin tahu di mana pertukaran Nexo didaftarkan, dan jawapannya ialah: Switzerland. Nexo ditubuhkan pada tahun 2018 oleh syarikat Swiss Fintech Credissimo. Nexo Exchange Lokasi dan Peraturan Geografi: Nexo beribu pejabat di Zug, Switzerland, rantau yang mesra cryptocurrency yang terkenal. Platform ini secara aktif bekerjasama dengan pengawasan pelbagai kerajaan dan telah berada di Rangkaian Penguatkuasaan Undang -undang Jenayah Kewangan AS (FINCEN) dan Kewangan Kanada

Rangka kerja PHP digunakan secara meluas dalam pembangunan tangkas dan projek berskala besar, memberikan kelebihan seperti ketangkasan, skalabiliti dan keselamatan. Sebagai contoh, dalam tapak web e-dagang, rangka kerja Laravel boleh membuat prototaip dengan cepat, mengendalikan logik perniagaan yang kompleks, memastikan keselamatan dan melanjutkan fungsi. Dengan memanfaatkan komponen dan corak reka bentuk yang telah ditetapkan, rangka kerja PHP memudahkan pembangun untuk membina aplikasi berskala dan diselenggara dengan baik.

Pemantauan berkesan pangkalan data Redis adalah penting untuk mengekalkan prestasi optimum, mengenal pasti kemungkinan kesesakan, dan memastikan kebolehpercayaan sistem secara keseluruhan. Perkhidmatan Pengeksport Redis ialah utiliti teguh yang direka untuk memantau pangkalan data Redis menggunakan Prometheus. Tutorial ini akan membimbing anda melalui persediaan dan konfigurasi lengkap Perkhidmatan Pengeksport Redis, memastikan anda mewujudkan penyelesaian pemantauan dengan lancar. Dengan mengikuti tutorial ini, anda akan mencapai persediaan pemantauan yang beroperasi sepenuhnya untuk memantau metrik prestasi pangkalan data Redis anda dengan berkesan.

Perbandingan ujian penanda aras dan kes sebenar menunjukkan bahawa Slim dan Laravel berprestasi terbaik dari segi prestasi keseluruhan rangka kerja PHP. Yang pertama mendahului dengan kelajuan pelaksanaan yang sangat baik, manakala yang kedua cemerlang dari segi prestasi dan keseimbangan ciri. Kedudukan khusus adalah seperti berikut: SlimLaravelSymfonyCodeIgniterZendFramework
