Redis入门与安装(Centos7环境下)


一、Redis是什么?

Redis(REmote DIctionary Server)是用C语言开发的一个开源的高性能键值对(key-value)数据库。
特征:
1.数据间没有必然的关联关系
2.内部采用单线程机制进行工作
3.高性能。官方提供测试数据,50个并发执行100000个请求,读的速度是110000次/s,写的速度是81000次/s
4.多数据类型支持。(String、list、hash、set等)
应用:
1.为热点数据加速查询
2.即使信息查询
3.时效性信息控制
4.分布式数据共享
5.消息队列

二、安装步骤(Center OS7环境)

步骤如下:

1.下载安装包
wget http://download.redis.io/releases/redis-5.0.0.tar.gz
2.解压安装包
tar -xvf redis-5.0.0.tar.gz
3.编译(在解压的目录中执行)
make
4.安装(在解压的目录中执行)
make install

三、Redis服务器启动

1.启动服务器--参数启动
redis-server [-port port]
(范例
redis-server -port 6379(默认))
2.启动服务器--配置文件启动
redis-server config_file_name
(范例
redis-server redis.conf)
3.启动客户端
redis-cli [-h host] [-h port]
(范例
redis-cli -h 61.129.65.248 -p 6384)

四、服务器端设定

设置服务器以守护进程的方式运行,开启后服务器控制台将打印服务器运行信息(同日志内容相同)
daemonize yes|no
绑定主机地址
bind ip
设置服务器端口号
port port 
设置服务器文件保存地址
dir path

五、客户端设置

服务器允许客户端连接最大数量,默认0,表示无限制。当客户端连接到达上限后,Redis会拒绝新的连接
maxclients count
客户端闲置等待最大时长,达到最大值后关闭对应连接。如需关闭该功能,设置为0
timeout seconds

六、日志配置

设置服务器以指定日志记录级别
loglevel debug|verbose|notice|warning(默认verbose)
日志记录文件名
logfile filename

七、Redis基本操作

命令行模式工具使用思考
1.功能性命令
2.帮助信息查阅
3.退出指令
4.清除屏幕信息

信息读写
1.设置key,value数据
set key value
范例
set name itheima
根据key查询对应的value,如果不存在,返回空(nil)
get key
范例
get name

七、Redis不同数据类型操作

一、Srting
(一)String类型数据基本操作

1.单数据
添加/修改数据
set key value
获取数据
get key
删除数据
del key
判定性添加数据(没有key,则添加,有则不添加)
setnx key value
2.多数据
添加/修改多个数据
mset key1 value1 key2 value2
获取多个数据 
mget key1 key2 ...
获取数据字符个数(字符串长度)
strlen key
追加信息到原始信息后部(如果原始信息存在就追加,否则新建)
append key value

(二)String类型数据的扩展操作

设置数值数据增加指定范围的值
incr key (key+1)
incrby key increment (key+increment(指定数值))
incrbyfloat key increment(可以对小数进行操作)
设置数值数据减少指定范围的值
decr key(key-1)
decrby key increment
设置数据具有指定的生命周期
setex key seconds(时间秒) value
psetex key milliseconds(时间毫秒) value

二、hash类型
新的存储要求:对一系列存储的数据进行编排,方便管理,典型应用存储对象信息
需要的存储结构:一个存储空间保存多个键值对数据
hash类型:底层用hash表结构实现数据存储
Redis存储空间(key | hash存储空间(field | value值))
hash存储结构优化
如果field数量较少,存储结构优化为类数组结构
如果field数量较多,存储结构使用hashmap结构

(一)Hasp类型数据基本操作

1.单数据
添加/修改数据
hset key field value
获取数据
hget key field
hgetall key
删除数据
hdel key field1 [field2]
设置数据
hsetnx key field value
2.多数据
添加/修改多个数据
hmset key field1 value1 field value2 ..
获取多个数据
hmget key field1 field2 ...
获取hash表中字段数量
hlen key
获取hash表中是否存在指定的字段
hexists key field

(二)Hasp类型数据扩展操作

获取哈希表中所有的字段名或字段值
hkeys key
hvals key
设置指定字段的数值数据增加指定范围的值
hincrby key field increment
hincrbyfloat key field increment 

三、list类型
数据存储需求:存储多个数据,并对数据进入存储空间的顺序进行区分
需要的存储结构:一个存储空间保存多个数据,且通过数据可以体现进入顺序
list类型:保存多个数据,底层使用双向链表存储结构实现

(一)list类型数据基本操作

(双端队列)
添加/修改数据
lpush key value1 [value2]...
rpush key value1 [value2]...
获取数据
lrange key start stop
lindex key index
llen key
获取并移除数据
lpop key
rpop key

(二)list类型数据扩展操作

移除指定数据
lrem key count value
规定时间内获取移除数据
blpop key1 [key2] timeout
brpop key1 [key2] timeout
blpoplpush source destination timeout

三、set类型
新的存储要求:存储大量的数据,在查询方面提供更高的效率
需要的存储结构:能够保存大量的数据,高效的内部存储机制,便于查询
set类型:与hash存储结构完全相同,仅存储键,不存储值(nil)并且值不允许重复
Redis存储空间(key |(set存储空间(value| nil)))
(一)set类型数据基本操作

添加数据
sadd key member1 [member2]
获取全部数据
smembers key
删除数据
srem key member1 [member2]
获取集合数据总量
scard key
判断集合中是否包含指定数据
sismember key member
随机获取集合中指定数量的数据
srandmember key [count]
随机获取集合中的某个数据并将该数据移出集合
spop key [count]

(二)list类型数据扩展操作

求两个集合的交集、并集和差集
sinter key1 [key2 ...]
sunion key1 [key2 ...]
sdiff key1 [key2 ...]
求两个集合的交集、并集和差集并存储到指定集合中
sinterstore destination key1 [key2 ...]
sunionstore destination key1 [key2 ...]
sdiffstore destination key1 [key2 ...]
将指定数据从原始集合中移动到目标集合中
smove source destination member 

七、Redis常用指令

一、key常用指令
(一)key基本操作

删除指定key
del key
获取key是否存在
exists key
获取key的类型
type key

(二)key扩展操作

排序
sort(sort list1 alpha/sort list1 alpha desc(逆序))
改名
rename key newkey
renamenx key newkey(存在就改)
(时效控制)
为指定key设置有效期
expire key seconds
pexpire key milliseconds
expireat key timestamp
pexpireat key milliseconds-timestamp
获取key的有效时间
ttl key(如果是-1代表永久有效,-2代表不存在)
pttl key
切换key从时效性转换为永久性
persist key
(查询模式)
查询key
keys pattern
查询模式规则
* 匹配任意数量的任意符号
? 配合一个任意符号
[] 匹配一个指定符号
keys * 查询所有
key it* 查询所有以it开头
keys *heima 查询所有以heima结尾
keys ??heima 查询所有前面两个符号任意,后面以heima结尾
keys user:? 查询所有以user:开头,最后一个字符任意
keys u[st]er:1 查询所有以u开头,以er结尾,中间包含一个字母s或者t

一、数据库常用指令
db基本操作

切换数据库
select index(0-15)
其他操作
ping(判断服务器是否联通)
数据移动
move key db
数据总量
dbsize
数据清除
flushdb(清除本数据库)
flushall(清除所有)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值