标签:set hash string redis 学习 初体验 类型 php
目录redis
介绍
redis是一个key-value存储系统。
它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。
这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。
在此基础上,redis支持各种不同方式的排序。
为了保证效率,数据都是缓存在内存中
安装redis
windows下安装
https://github.com/dmajkic/redis/downloads。
下载对应的压缩包后解压出来,注意路径中最好不要有中文,解压后如下图
通过命令行打开redis
1.进入redis
2.打开redis的服务端命令行
3.打开客户端命令行
4.设置和获取键值对,测试redis是否能正常运行
Linux下安装
cd /opt
wget https://github.com/antirez/redis/archive/5.0.7.tar.gz
tar -zxvf redis-5.0.7.tar.gz
mv redis-5.0.7 /usr/local/redis
cd /usr/local/redis
make && make PREFIX=/usr/local/redis install
redis远程连接
修改redis.conf文件
1.注释掉bind 127.0.0.1
2设置后台启动,将 daemonize no 改为 daemonize yes
3.protected-mode no #默认yes,开启保护模式,限制为本地访问
php链接redis
下载redis扩展,官网地址(https://pecl.php.net/package/redis)
cd /opt
wget https://pecl.php.net/get/redis-5.3.7.tgz
tar -zxvf redis-5.3.7.tgz
mv redis-5.3.7 /usr/local/php_extension/redis
cd /usr/local/php_extension/redis
phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
编译安装完成后,打开php.ini,添加上extension=redis,并重启php-fpm
redis的几种数据类型
string字符串
string是redis最基本的类型,一个key对应一个value。
string类型是二进制安全的。
意思是redis的string可以包含任何数据。
比如jpg图片或者序列化的对象。
string类型是Redis最基本的数据类型,一个键最大能存储512MB
php操作string类型
list(链表)
Redis列表是简单的字符串列表,按照插入顺序排序。
你可以添加一个元素导列表的头部或者尾部。
php操作list类型
hash(哈希类型)
Redis hash 是一个键值对集合。
Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。
hash相关操作命令
set(集合)
Redis的Set是string类型的无序集合。
集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)
set与list的区别
set相关操作命令
zset(sorted set --有序集合)
Redis zset和set一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。
redis正是通过分数来为集合中的成员进行从小到大的排序。
zset的成员是唯一的,但分数(score)却可以重复。
zset相关操作命令
redis其他操作
在php开发或生产中推荐关于redis扩展
composer require predis/predis
参考资料
标签:set,hash,string,redis,学习,初体验,类型,php 来源: https://www.cnblogs.com/studyandstudy/p/16256010.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。