01Redis简介
REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。
Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。
02Redis的安装
- 将Redis的tar(源码包)包放到某个文件夹下
-
将tar包解压缩,使用以下命令
tar -zxvf redis-4.0.6.tar.gz
3.安装编译Redis使用以下命令
cd redis-2.6.14
make PREFIX=/usr/local/redis install
在执行过程可能会遇到以下错误:
>>提示1:
make[3]: gcc:命令未找到
>>解决方案
yum -y install gcc-c++
>>提示2:
在包含自 adlist.c:34 的文件中:
zmalloc.h:50:31: 错误:jemalloc/jemalloc.h:没有那个文件或目录
zmalloc.h:55:2: 错误:#error "Newer version of jemalloc required"
>>解决方案
make的时候加上 MALLOC=libc 参数
make PREFIX=/usr/local/redis MALLOC=libc install
-
复制配置文件到redis目录
redis目录:
Redis.conf配置文件常见配置
(1)bind如果开启只能本机连接,如果注释掉任何可以连接。
(2)将redis进程变成后台进程,不占用我的客户端
-
设置密码认证
03启动Redis服务
后台进程启动成功界面
-
启动redis服务
-
登录redis
04Redis基础命令
Redis的keys命令
Keys * 查询所有
keys home 精确查找
keys h* 模糊查找
DEL key
该命令用于在 key 存在时删除 key。
DUMP key
序列化给定 key ,并返回被序列化的值。
EXISTS key
检查给定 key 是否存在。
EXPIRE key seconds
为给定 key 设置过期时间。
EXPIREAT key timestamp
EXPIREAT 的作用和 EXPIRE 类似,都用于为 key 设置过期时间。 不同在于 EXPIREAT 命令接受的时间参数是 UNIX 时间戳(unix timestamp)。
PEXPIRE key milliseconds
设置 key 的过期时间以毫秒计。
PEXPIREAT key milliseconds-timestamp
设置 key 过期时间的时间戳(unix timestamp) 以毫秒计
KEYS pattern
查找所有符合给定模式( pattern)的 key 。
MOVE key db
将当前数据库的 key 移动到给定的数据库 db 当中。
PERSIST key
移除 key 的过期时间,key 将持久保持。
PTTL key
以毫秒为单位返回 key 的剩余的过期时间。
TTL key
以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)。
RANDOMKEY
从当前数据库中随机返回一个 key 。
RENAME key newkey
修改 key 的名称
RENAMENX key newkey
仅当 newkey 不存在时,将 key 改名为 newkey 。
TYPE key
返回 key 所储存的值的类型。
Redis字符串命令
SET key value
设置指定 key 的值GET key
获取指定 key 的值。GETRANGE key start end
返回 key 中字符串值的子字符GETSET key value
将给定 key 的值设为 value ,并返回 key 的旧值(old value)。GETBIT key offset
对 key 所储存的字符串值,获取指定偏移量上的位(bit)。MGET key1 [key2..]
获取所有(一个或多个)给定 key 的值。SETBIT key offset value
对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)。SETEX key seconds value
将值 value 关联到 key ,并将 key 的过期时间设为 seconds (以秒为单位)。SETNX key value
只有在 key 不存在时设置 key 的值。SETRANGE key offset value
用 value 参数覆写给定 key 所储存的字符串值,从偏移量 offset 开始。STRLEN key
返回 key 所储存的字符串值的长度。MSET key value [key value ...]
同时设置一个或多个 key-value 对。MSETNX key value [key value ...]
同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在。PSETEX key milliseconds value
这个命令和 SETEX 命令相似,但它以毫秒为单位设置 key 的生存时间,而不是像 SETEX 命令那样,以秒为单位。INCR key
将 key 中储存的数字值增一。INCRBY key increment
将 key 所储存的值加上给定的增量值(increment) 。INCRBYFLOAT key increment
将 key 所储存的值加上给定的浮点增量值(increment) 。DECR key
将 key 中储存的数字值减一。DECRBY key decrement
key 所储存的值减去给定的减量值(decrement) 。APPEND key value
如果 key 已经存在并且是一个字符串, APPEND 命令将 value 追加到 key 原来的值的末尾。