Home Backend Development PHP Tutorial PHP framework CodeIgniter uses redis to explain the method

PHP framework CodeIgniter uses redis to explain the method

Jun 27, 2018 pm 05:52 PM
codeigniter php framework redis

This article mainly introduces the method of using redis in PHP framework CodeIgniter, and analyzes the installation and settings of redis in the form of examples, as well as the related operating skills and precautions for using redis in CodeIgniter. Friends in need can refer to the following

The example in this article describes how the PHP framework CodeIgniter uses redis. Share it with everyone for your reference, the details are as follows:

1. Install redis

First of all, the redis service (redis database) must be installed on the computer ) and run, see another article for details: //www.jb51.net/article/138173.htm

2. Install phpredis

① Download

Project address: https://github.com/phpredis/phpredis (you can ignore this). It is mentioned here that the windows version of phpredis needs to be compiled by yourself. Of course We can't be so reckless.

Let me talk about the detours I have taken. I downloaded it from http://windows.php.net/downloads/pecl/snaps/redis/20160319/ (you can ignore this), but I still can’t get it. Okay, actually this vc14 is the 7.0 version of PHP, and what we need is the 7.1 version, so it was always wrong and I couldn’t find the problem until I found this:

http://pecl.php.net/ package-stats.php

Click on the corresponding version:

http://pecl.php.net/package/redis/3.1.1/windows

Download 7.1 corresponding version.

② Installation

Place the downloaded and decompressed php_redis.dll in the ext of the php interpreter. You will find that modules such as mysql are also placed Here, then open php.ini, find ;extension=php_bz2.dll, add extension=php_redis.dll,

is in the extension In the header of the configuration area, add the redis configuration. The installation is complete.

③ Check the configuration information

Restart the server or restart the computer, add a view page: phpinfo.php under the path of index.php, add:

1

2

3

<?php

 echo phpinfo();

?>

Copy after login

Then visit http://yourdomain.com/phpinfo.php, you can see the configuration information and look for information on whether redis configuration is successful , if so, the configuration is complete.

3. Use PHP native method to operate redis

1

2

3

4

5

// 原生redis类库,不需要config/redis.php

$redis = new Redis();

$redis->connect(&#39;127.0.0.1&#39;,6379);

//$redis->set(&#39;key10&#39;,&#39;xx10&#39;,20);//第三个参数是存续时间,单位是秒,如果不填则为永久

echo $redis->get(&#39;key10&#39;);

Copy after login

4. Configure redis.php

Create the file redis.php under myApplication/config:

1

2

3

4

5

6

7

8

9

10

11

12

13

<?php

defined(&#39;BASEPATH&#39;) OR exit(&#39;No direct script access allowed&#39;);

/**

 * Created by PhpStorm.

 * Date: 2017/2/9

 * Time: 13:32

 */

$config[&#39;socket_type&#39;] = &#39;tcp&#39;;

$config[&#39;host&#39;] = &#39;127.0.0.1&#39;;

$config[&#39;password&#39;] = NULL;

$config[&#39;port&#39;] = 6379;

$config[&#39;timeout&#39;] = 0;

?>

Copy after login

No matter This configuration file is required whether you use the framework's redis library or the following custom redis library.

In addition to configuring redis.php, the cache type we use must also be configured in

application/config/config.php. The default is like this:

1

2

3

4

5

6

7

$config[&#39;sess_driver&#39;] = &#39;files&#39;;

$config[&#39;sess_cookie_name&#39;] = &#39;ci_session&#39;;

$config[&#39;sess_expiration&#39;] = 7200;

$config[&#39;sess_save_path&#39;] = NULL;

$config[&#39;sess_match_ip&#39;] = FALSE;

$config[&#39;sess_time_to_update&#39;] = 300;

$config[&#39;sess_regenerate_destroy&#39;] = FALSE;

Copy after login

If we use redis, then the configuration should be similar to this:

1

2

3

4

5

6

7

$config[&#39;sess_driver&#39;] = &#39;redis&#39;;

$config[&#39;sess_cookie_name&#39;] = &#39;ci_session&#39;;

$config[&#39;sess_expiration&#39;] = 0;

$config[&#39;sess_save_path&#39;] = &#39;tcp://127.0.0.1:xxxx&#39;;

$config[&#39;sess_match_ip&#39;] = FALSE;

$config[&#39;sess_time_to_update&#39;] = 600;

$config[&#39;sess_regenerate_destroy&#39;] = TRUE;

Copy after login

5 , using the redis library of the CI framework

1

2

3

4

// 框架的redis库

$this->load->driver(&#39;cache&#39;);

$this->cache->redis->save(&#39;key11&#39;,&#39;xx11&#39;);//这里注意,第三个参数是时间,在自定义redis库会说明

echo $this->cache->redis->get(&#39;key11&#39;);

Copy after login

6. Using a custom redis class library

① Rediscli_default.php

The custom redis class library can be copied from system/libraries/Cache/drivers/Cache_redis.php and renamed Rediscli_default .php, the class name is also changed to Rediscli_default, no other changes are needed, you can add more methods yourself. Place it under myApplication/libraries/Rediscli/drivers/

② Rediscli.php

Create a Rediscli.php## under myApplication/libraries/Rediscli/

#

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

<?php

defined ( &#39;BASEPATH&#39; ) or exit ( &#39;No direct script access allowed&#39; );

/**

 * 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 (

   &#39;default&#39;

  );

 }

}

Copy after login

③ Call

1

2

3

4

5

6

// 自定义类,需要配置

$this->load->driver(&#39;rediscli&#39;);

if ($this->rediscli->default->is_supported())

{

 echo $this->rediscli->default->get(&#39;key2&#39;);

}

Copy after login

④ Time

This custom redis library is the same as the framework library, so we will focus on it here.

1

$this->cache->redis->save(&#39;key11&#39;,&#39;xx11&#39;,1000);

Copy after login

This is the saved value. The third parameter is the time, which cannot be omitted. By looking at the function, you can see that the default value of this parameter is 60 seconds, not permanent, so this parameter cannot be omitted.

7. Pay attention to this situation

1

2

3

4

// 文本存储

$this->load->driver(&#39;cache&#39;,array(&#39;adapter&#39;=>&#39;redis&#39;,&#39;backup&#39;=>&#39;file&#39;));

$this->cache->save(&#39;key5&#39;,&#39;xx5&#39;,10000);

echo $this->cache->get(&#39;key5&#39;);//xx5

Copy after login

The meaning of this code is, first of all Use redis to store, if not found, use text storage. You will find that text files are stored in myApplication/cache, and each key will have one text.

Because no error is reported, you may not know where this data exists for a while.

It’s better to use this less often. After all, redis is used for faster speed.

Articles you may be interested in:

Explanation of TCP server and client functions implemented by PHP programming

Explanation on how to implement regular matching of provinces and cities in PHP

PHP closure definition and use simple example php skills

The above is the detailed content of PHP framework CodeIgniter uses redis to explain the method. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Comparison of the advantages and disadvantages of PHP frameworks: Which one is better? Comparison of the advantages and disadvantages of PHP frameworks: Which one is better? Jun 04, 2024 pm 03:36 PM

The choice of PHP framework depends on project needs and developer skills: Laravel: rich in features and active community, but has a steep learning curve and high performance overhead. CodeIgniter: lightweight and easy to extend, but has limited functionality and less documentation. Symfony: Modular, strong community, but complex, performance issues. ZendFramework: enterprise-grade, stable and reliable, but bulky and expensive to license. Slim: micro-framework, fast, but with limited functionality and a steep learning curve.

Performance differences of PHP frameworks in different development environments Performance differences of PHP frameworks in different development environments Jun 05, 2024 pm 08:57 PM

There are differences in the performance of PHP frameworks in different development environments. Development environments (such as local Apache servers) suffer from lower framework performance due to factors such as lower local server performance and debugging tools. In contrast, a production environment (such as a fully functional production server) with more powerful servers and optimized configurations allows the framework to perform significantly better.

Integration of PHP frameworks with DevOps: the future of automation and agility Integration of PHP frameworks with DevOps: the future of automation and agility Jun 05, 2024 pm 09:18 PM

Integrating PHP frameworks with DevOps can improve efficiency and agility: automate tedious tasks, free up personnel to focus on strategic tasks, shorten release cycles, accelerate time to market, improve code quality, reduce errors, enhance cross-functional team collaboration, and break down development and operations silos

PHP Frameworks and Artificial Intelligence: A Developer's Guide PHP Frameworks and Artificial Intelligence: A Developer's Guide Jun 04, 2024 pm 12:47 PM

Use a PHP framework to integrate artificial intelligence (AI) to simplify the integration of AI in web applications. Recommended framework: Laravel: lightweight, efficient, and powerful. CodeIgniter: Simple and easy to use, suitable for small applications. ZendFramework: Enterprise-level framework with complete functions. AI integration method: Machine learning model: perform specific tasks. AIAPI: Provides pre-built functionality. AI library: handles AI tasks.

PHP Frameworks and Microservices: Cloud Native Deployment and Containerization PHP Frameworks and Microservices: Cloud Native Deployment and Containerization Jun 04, 2024 pm 12:48 PM

Benefits of combining PHP framework with microservices: Scalability: Easily extend the application, add new features or handle more load. Flexibility: Microservices are deployed and maintained independently, making it easier to make changes and updates. High availability: The failure of one microservice does not affect other parts, ensuring higher availability. Practical case: Deploying microservices using Laravel and Kubernetes Steps: Create a Laravel project. Define microservice controllers. Create Dockerfile. Create a Kubernetes manifest. Deploy microservices. Test microservices.

How does the performance comparison of different PHP frameworks affect application selection? How does the performance comparison of different PHP frameworks affect application selection? Jun 06, 2024 am 11:16 AM

The performance of different PHP frameworks significantly affects application selection. Benchmark tests show the performance of Slim, Laravel, Symfony and CodeIgniter as follows: Slim: lightweight design, with the fastest processing speed Laravel: suitable for large applications, processing complex queries Strong performance Symfony: enterprise-level framework, excellent performance in handling complex business logic CodeIgniter: lightweight framework, suitable for small applications Factors such as application size, processing power, code complexity and scalability should be taken into consideration to choose the most suitable For example, an e-commerce website may need a high-performance framework like Laravel, while a small blog may be more suitable for Slim.

The best PHP framework for microservice architecture: performance and efficiency The best PHP framework for microservice architecture: performance and efficiency Jun 03, 2024 pm 08:27 PM

Best PHP Microservices Framework: Symfony: Flexibility, performance and scalability, providing a suite of components for building microservices. Laravel: focuses on efficiency and testability, provides a clean API interface, and supports stateless services. Slim: minimalist, fast, provides a simple routing system and optional midbody builder, suitable for building high-performance APIs.

Which country is the Nexo exchange from? Where is it? A comprehensive introduction to the Nexo exchange Which country is the Nexo exchange from? Where is it? A comprehensive introduction to the Nexo exchange Mar 05, 2025 pm 05:09 PM

Nexo Exchange: Swiss cryptocurrency lending platform In-depth analysis Nexo is a platform that provides cryptocurrency lending services, supporting the mortgage and lending of more than 40 crypto assets, fiat currencies and stablecoins. It dominates the European and American markets and is committed to improving the efficiency, security and compliance of the platform. Many investors want to know where the Nexo exchange is registered, and the answer is: Switzerland. Nexo was founded in 2018 by Swiss fintech company Credissimo. Nexo Exchange Geographical Location and Regulation: Nexo is headquartered in Zug, Switzerland, a well-known cryptocurrency-friendly region. The platform actively cooperates with the supervision of various governments and has been in the US Financial Crime Law Enforcement Network (FinCEN) and Canadian Finance

See all articles