🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
redis是什么 #### Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库 也是一个软件. ***** redis的特点和作用 支持多种数据类型的存取数据 支持持久化存储数据 ***** redis的应用场景 数据缓存 消息队列 排行榜 计数 ***** redis的安装(linux) ``` 1. 下载 wget http://download.redis.io/releases/redis-3.2.8.tar.gz 2. 解析 tar -zvxf redis-3.2.8.tar.gz tar -zvxf redis-soft-3.2.8.tar.gz 3. 进入目录 cd redis-3.2.8 4. 编译安装 make PREFIX=/usr/local/redis install 5.移动配置文件 cp redis.conf /usr/local/redis 6.进入配置目录 cd /usr/local/redis/bin/ 6. 启动时载入配置文件 (前提是要先将配置文件放置到指定目录) ./redis-server /usr/local/redis/redis.conf ``` ***** redis的使用 使用前先连接redis ``` 将xshell命令行复制一个 因为redis已经挂起 进入目录 cd /usr/local/redis/bin/ 执行redis客户端 ./redis-cli -h localhost -p 6379 redis 帮助命令 redis-cli --help ``` ***** 字符串 ``` set 存储一条数据 get 获取一条数据 incr 自增一个数据 incrby 按照指定步进自增 decr 自减一条数据 decrby 按照指定步进自减 setex 设置一条数据并设置声明周期 strlen 获取数据的长度 setbit 设置某一位上的数据 getbit 获取某一位上的数据 bitcount 统计值为1的位数 setnx 不存在此key设置, 存在则不设置 append 追加字符串 getrange 截取字符串 ``` ***** 哈希 ``` hset 设置key中的某个字段 hget 获取key中的某个字段 hdel 删除key中的某个字段 hexists 检测key中的某个字段是否存在 存在为1 不存在为0 hincrby 自增key中某个字段的值 hgetall 获取key中所有的信息 hkeys 获取key中所有的字段 hvals 获取key中所有的值 hmset 批量设置哈希中的数据 hmget 批量获取哈希中的数据 ``` ***** 列表 ``` lpush 左侧插入列表一条数据 lpushx 左侧插入一条数据, 如果列表不存在不插入 0为 rpush 右侧插入列表一条数据 rpushx 右侧插入列表一条数据, 如果列表不存在不插入 lindex 获取列表中指定索引的元素 linsert 在列表中的某个位置插入一条数据 llen 获取列表的长度 lpop 在左侧弹出一条数据 rpop 在右侧弹出一条数据 lrange 获取列表中某个区间中的数据 lrem 移出列表中的某个数据 lset 修改列表中元素的值 rpoplpush 将列表右侧的值弹出, 然后插入另一个列表中. ``` ***** 集合 ``` sadd 向集合中添加一个新的元素 scard 返回集合中元素的个数 sdiff 返回两个集合的差集 sdiffstore 存储两个集合的差集结果 sinter 返回两个集合的交集 sinterstore 存储两个集合的交集结果 sismember 检测一个元素是否在某个集合整那个 smembers 获取一个集合中的所有元素 smove 将一个元素从这个集合移动到另一个集合 spop 随机弹出指定个数的元素 srandmember 随机获取集合中的一个元素 srem 移出集合中元素 sunion 返回两个集合的并集 sunionstore 存储两个集合的并集结果 ``` ***** 有序集合 ``` zadd 向有序集合中添加一条数据 zcard 返回有序集合的数据总数 zcount 根据权重区间统计数据数量 zincrby 按照步进增加数据的权重 zrange 根据权重从低到高获取数据 zrevrange 权重从高到低获取数据 zrangebyscore 根据权重区间返回数据 zrank 根据排名返回数据 zrevrank 根据排名倒序返回数据 zrem 删除数据 zremrangebyrank 根据排名删除数据 zremrangebyscore 根据权重删除数据 zscore 返回一条数据的权重 zunionstore 将集合并集存储到一个集合中 ``` ***** 其他 命令 ``` del 删除某个key数据 exists 检测某个key是否存在 expire 为某个key设置生命周期 ttl 返回key的生命时间 keys 返回匹配到的key select 选择数据库 move 将key移动到某个数据库 type 获取key的类型 rename 重命名key auth 密码 (先Ctrl停止redis服务进入目录cd /usr/local/redis/ 修改配置文件 vim redis.conf 搜索:/requirepass foobared 先将该行的注释去掉 将foobared 修改成您的密码 保存退出) multi 启动一个事务 discard 取消时区 exec 执行事务 ``` ***** #### 安装php-redis扩展 使用php操作redis ``` 1. 下载 wget http://pecl.php.net/get/redis-3.1.1.tgz 进入redis 目录 cd /lamp/redis/ 2. 解压 tar -zvxf redis-php-3.1.1.tgz 3. 进入目录 cd redis-3.1.1 4. 运行phpize /usr/local/php/bin/phpize 5. 配置 ./configure --with-php-config=/usr/local/php/bin/php-config 6. 编译 7. 安装 make && make install 8. 修改php配置文件,添加扩展 vim /usr/local/php/etc/php.ini extension=redis.so 9. 重启apache sto sta /usr/local/apache2/bin/apachectl restart ``` ***** 创建redis对象 连接redis服务器 写入数据/读取数据/删除数据