Table des matières
php-redis中的sort排序函数总结,php-redissort
Maison php教程 php手册 php-redis中的sort排序函数总结,php-redissort

php-redis中的sort排序函数总结,php-redissort

Jun 13, 2016 am 08:58 AM
php redis sort 排序函数

php-redis中的sort排序函数总结,php-redissort

很多人把redis当成一种数据库,其实是利用redis来构造数据库的模型,有那种数据库的味道。但是在怎么构建还是key和value的关系,与真正的关系型数据库还是不一样的。

效率高,不方便;方便的,效率不高;又方便,效率又高的要花钱。

php-redis里面的sort函数,在做web的时候取数据还是比较方便,有点关系型数据库的味道。在说sort前,先说一下前面漏的几个比较常用的函数。

 1) keys

描述:查找符合给定模式的key
参数:匹配模式
返回值:符合给定模式的key列表

2) mset

描述:同时设置一个或多个key-value对。当发现同名的key存在时,MSET会用新值覆盖旧值,如果你不希望覆盖同名key,请使用MSETNX命令。MSET是一个原子性(atomic)操作,所有给定key都在同一时间内被设置,某些给定key被更新而另一些给定key没有改变的情况,不可能发生。
参数:数组
返回值:总是返回OK(因为MSET不可能失败)

3) mget

描述:返回所有(一个或多个)给定key的值。如果某个指定key不存在,那么返回特殊值nil。因此,该命令永不失败。
参数:key的数组
返回值:一个包含所有给定key的值的列表

示例:
复制代码 代码如下:
    $redis = new redis(); 
    $redis->connect('192.168.1.108', 6379); 
    $redis->flushall();  
      
    $array=array('tank'=>'1', 
              'zhang'=>'2', 
              'ying'=>'3', 
              'test'=>'4'); 
    $redis->mset($array); 
    print_r($redis->keys('*s*'));        // 结果:Array ( [0] => test ) 
    print_r($redis->keys('y???'));       // 结果:Array ( [0] => ying ) 
    print_r($redis->keys('t[e]*'));  // 结果:Array ( [0] => test ) 
    print_r($redis->keys('*'));      // 结果:Array ( [0] => ying [1] => test [2] => zhang [3] => tank )  
      
    print_r($redis->mget(array("tank","ying")));     // 结果:Array ( [0] => 1 [1] => 3 ) 
?>

4) sort

描述:按条件取得数据
参数:
复制代码 代码如下:
array(
    'by' => 'pattern', //匹配模式
    'limit' => array(0, 1),
    'get' => 'pattern'
    'sort' => 'asc' or 'desc',
    'alpha' => TRUE,
    'store' => 'external-key'
)

返回或保存给定列表、集合、有序集合key中经过排序的元素。

一般排序
复制代码 代码如下:
    $redis = new redis(); 
    $redis->connect('192.168.1.108', 6379); 
    $redis->flushall(); 
    $redis->lpush('test', 1); 
    $redis->lpush('test', 10); 
    $redis->lpush('test', 8); 
      
    print_r($redis->sort('test')); //结果:Array ( [0] => 1 [1] => 8 [2] => 10 ) 
?>

字母排序

复制代码 代码如下:
    $redis = new redis(); 
    $redis->connect('192.168.1.108', 6379); 
    $redis->flushall(); 
    $redis->lpush('test', 'a'); 
    $redis->lpush('test', 'd'); 
    $redis->lpush('test', 'b'); 
      
    print_r($redis->sort('test')); //结果:Array ( [0] => b [1] => d [2] => a ) 
    print_r($redis->sort('test',array('ALPHA'=>TRUE))); //结果:Array ( [0] => a [1] => b [2] => d ) 
?>
 

排序取部分数据

复制代码 代码如下:
    $redis = new redis(); 
    $redis->connect('192.168.1.108', 6379); 
    $redis->flushall(); 
    $redis->lpush('test', 31); 
    $redis->lpush('test', 5); 
    $redis->lpush('test', 2); 
    $redis->lpush('test', 23);   
      
    $array = array('LIMIT'=>array(0,3),"SORT"=>'DESC'); 
    print_r($redis->sort('test',$array));  //结果:Array ( [0] => 31 [1] => 23 [2] => 5 ) 
?>

使用外部key进行排序

有时候你会希望使用外部的key作为权重来比较元素,代替默认的对比方法。

假设现在有用户(user)表数据如下:

复制代码 代码如下:
id     name    score 
------------------------------- 
1     tank      89 
2     zhang     40 
4       ying      70 
3      fXXK       90

id数据保存在key名为id的列表中。
name数据保存在key名为name_{id}的列表中
score数据保存在score_{id}的key中。

复制代码 代码如下:
    $redis = new redis(); 
    $redis->connect('192.168.1.108', 6379); 
    $redis->flushall();  
      
    $redis->lpush('id', 1); 
    $redis->set('name_1', 'tank'); 
    $redis->set('score_1',89); 
      
    $redis->lpush('id', 2); 
    $redis->set('name_2', 'zhang'); 
    $redis->set('score_2', 40); 
      
    $redis->lpush('id', 4); 
    $redis->set('name_4','ying'); 
    $redis->set('score_4', 70); 
      
    $redis->lpush('id', 3); 
    $redis->set('name_3', 'fXXK'); 
    $redis->set('score_3', 90); 
      
    /**
     * 按score从大到小排序,取得id
     */
    $sort=array('BY'=>'score_*', 
                'SORT'=>'DESC'
                ); 
    print_r($redis->sort('id',$sort)); //结果:Array ( [0] => 3 [1] => 1 [2] => 4 [3] => 2 )  
      
    /**
     * 按score从大到小排序,取得name
     */
    $sort=array('BY'=>'score_*', 
                'SORT'=>'DESC', 
                'GET'=>'name_*'
                ); 
    print_r($redis->sort('id',$sort)); //结果:Array ( [0] => fXXK [1] => tank [2] => ying [3] => zhang )   
      
    /**
     * 按score从小到大排序,取得name,score
     */
    $sort=array('BY'=>'score_*', 
                'SORT'=>'DESC', 
                'GET'=>array('name_*','score_*') 
                ); 
    print_r($redis->sort('id',$sort)); 
    /**
     *结果:Array
            (
                [0] => fXXK
                [1] => 90
                [2] => tank
                [3] => 89
                [4] => ying
                [5] => 70
                [6] => zhang
                [7] => 40
            ))
     */
      
    /**
     * 按score从小到大排序,取得id,name,score
     */
    $sort=array('BY'=>'score_*', 
                'SORT'=>'DESC', 
                'GET'=>array('#','name_*','score_*') 
                ); 
    print_r($redis->sort('id',$sort)); 
    /**
     * 结果:Array
            (
                [0] => 3
                [1] => fXXK
                [2] => 90
                [3] => 1
                [4] => tank
                [5] => 89
                [6] => 4
                [7] => ying
                [8] => 70
                [9] => 2
                [10] => zhang
                [11] => 40
            )
     */
?>

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

PHP et Python: comparaison de deux langages de programmation populaires PHP et Python: comparaison de deux langages de programmation populaires Apr 14, 2025 am 12:13 AM

PHP et Python ont chacun leurs propres avantages et choisissent en fonction des exigences du projet. 1.Php convient au développement Web, en particulier pour le développement rapide et la maintenance des sites Web. 2. Python convient à la science des données, à l'apprentissage automatique et à l'intelligence artificielle, avec syntaxe concise et adaptée aux débutants.

PHP vs Python: comprendre les différences PHP vs Python: comprendre les différences Apr 11, 2025 am 12:15 AM

PHP et Python ont chacun leurs propres avantages, et le choix doit être basé sur les exigences du projet. 1.Php convient au développement Web, avec une syntaxe simple et une efficacité d'exécution élevée. 2. Python convient à la science des données et à l'apprentissage automatique, avec une syntaxe concise et des bibliothèques riches.

PHP: un langage clé pour le développement Web PHP: un langage clé pour le développement Web Apr 13, 2025 am 12:08 AM

PHP est un langage de script largement utilisé du côté du serveur, particulièrement adapté au développement Web. 1.Php peut intégrer HTML, traiter les demandes et réponses HTTP et prend en charge une variété de bases de données. 2.PHP est utilisé pour générer du contenu Web dynamique, des données de formulaire de traitement, des bases de données d'accès, etc., avec un support communautaire solide et des ressources open source. 3. PHP est une langue interprétée, et le processus d'exécution comprend l'analyse lexicale, l'analyse grammaticale, la compilation et l'exécution. 4.PHP peut être combiné avec MySQL pour les applications avancées telles que les systèmes d'enregistrement des utilisateurs. 5. Lors du débogage de PHP, vous pouvez utiliser des fonctions telles que error_reportting () et var_dump (). 6. Optimiser le code PHP pour utiliser les mécanismes de mise en cache, optimiser les requêtes de base de données et utiliser des fonctions intégrées. 7

Statut actuel de PHP: un regard sur les tendances de développement Web Statut actuel de PHP: un regard sur les tendances de développement Web Apr 13, 2025 am 12:20 AM

Le PHP reste important dans le développement Web moderne, en particulier dans la gestion de contenu et les plateformes de commerce électronique. 1) PHP a un écosystème riche et un fort soutien-cadre, tels que Laravel et Symfony. 2) L'optimisation des performances peut être obtenue via Opcache et Nginx. 3) PHP8.0 introduit le compilateur JIT pour améliorer les performances. 4) Les applications natives dans le cloud sont déployées via Docker et Kubernetes pour améliorer la flexibilité et l'évolutivité.

PHP vs autres langues: une comparaison PHP vs autres langues: une comparaison Apr 13, 2025 am 12:19 AM

PHP convient au développement Web, en particulier dans le développement rapide et le traitement du contenu dynamique, mais n'est pas bon dans les applications de la science des données et de l'entreprise. Par rapport à Python, PHP présente plus d'avantages dans le développement Web, mais n'est pas aussi bon que Python dans le domaine de la science des données; Par rapport à Java, PHP fonctionne moins bien dans les applications au niveau de l'entreprise, mais est plus flexible dans le développement Web; Par rapport à JavaScript, PHP est plus concis dans le développement back-end, mais n'est pas aussi bon que JavaScript dans le développement frontal.

La pertinence durable de PHP: est-elle toujours vivante? La pertinence durable de PHP: est-elle toujours vivante? Apr 14, 2025 am 12:12 AM

PHP est toujours dynamique et occupe toujours une position importante dans le domaine de la programmation moderne. 1) La simplicité de PHP et le soutien communautaire puissant le rendent largement utilisé dans le développement Web; 2) sa flexibilité et sa stabilité le rendent exceptionnelle dans la gestion des formulaires Web, des opérations de base de données et du traitement de fichiers; 3) PHP évolue et optimise constamment, adapté aux débutants et aux développeurs expérimentés.

PHP: la fondation de nombreux sites Web PHP: la fondation de nombreux sites Web Apr 13, 2025 am 12:07 AM

Les raisons pour lesquelles PHP est la pile technologique préférée pour de nombreux sites Web incluent sa facilité d'utilisation, son soutien communautaire solide et son utilisation généralisée. 1) Facile à apprendre et à utiliser, adapté aux débutants. 2) Avoir une énorme communauté de développeurs et des ressources riches. 3) Largement utilisé dans WordPress, Drupal et d'autres plateformes. 4) Intégrez étroitement aux serveurs Web pour simplifier le déploiement du développement.

PHP vs Python: fonctionnalités et fonctionnalités de base PHP vs Python: fonctionnalités et fonctionnalités de base Apr 13, 2025 am 12:16 AM

PHP et Python ont chacun leurs propres avantages et conviennent à différents scénarios. 1.PHP convient au développement Web et fournit des serveurs Web intégrés et des bibliothèques de fonctions riches. 2. Python convient à la science des données et à l'apprentissage automatique, avec une syntaxe concise et une bibliothèque standard puissante. Lors du choix, il doit être décidé en fonction des exigences du projet.

See all articles