redis学习之初体验redis
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