redis-知识点

nosql特点

1、不支持sql语法
2、存储结构和关系型数据库中的关系表完全不同,nosql中存储的数据都是k-v形式。
3、nosql没有通用语言,每种nosql都有自己的api和语法,以及擅长的业务场景。
4、nosql的产品种类很多,包括mongodb、redis、hbase hadoop等。

nosql和sql数据库的比较

1、适用场景不同:sql数据库适用于关系特别复杂的数据查询场景。nosql相反
2、”事务“特征的支持。sql对事物的支持非常完善,而nosql基本不支持事务。
3、两者在不断的取长补短,呈现融合趋势。

redis简介

redis是一个开源的使用c语言编写的,支持网络、基于内存、可持久化的、日志型key-value数据库,并提供多种语言的api。
Redis是用C语言实现的,一般来说C语言实现的程序“距离”操作系统更近,执行速度相对会更快;
Redis使用了单线程架构,预防了多线程可能产生的竞争问题

redis特性

redis和其他key-value产品对比:
1、redis支持数据持久化,可将内存中的数据存储在磁盘中,重启的时候可以再次加载使用。
2、redis不仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
3、redis支持数据的备份,即master-slave模式的数据备份。

reids优势

1、性能高,读的速度是110000次/s,写的速度是81000次/s。
2、支持丰富的数据类型,
3、原子性
4、丰富的特性,消息订阅、通知、key过期等特性。

redis应用场景

1、缓存 – redis的所有数据是存放到内存当中的。
2、可以在某些特定应用场景下替代传统数据库 – 比如社交类应用
3、在一些大型系统中,巧妙的实现特定的功能 – session共享、购物车等。

安装

如何直接输入 redis-server 有命令,说明已经安装好redis,不需要再安装。
1、下载
wget http://download.redis.io/releases/redis-3.2.8.tar.gz
2、 解压
tar -zxvf redis-3.2.8.tar.gz
3、移动
mv ./redis-3.2.8 /usr/local/redis
4、进入目录
cd /usr/local/redis
5、生成
sudo make 对c语言进行编译
6、测试
sudo make test 对依赖进行测试
7、安装
sudo make install 将redis命令安装到/usr/local/bin目录下

redis-service : redis服务器
redis-cli : redis 命令行客户端
redis-benchmark:redis性能测试工具
redis-check-aof: AOF文件修复工具
redis-check-rdb:rdb文件检索工具

配置

1、先将配置文件移动到/etc/redis目录下
sudo cp /user/local/redis/redis.conf /etc/redis
2、redis核心配置项
绑定ip :如果需要远程访问,可将此项注释掉,或者绑定真实ip
bind 127.0.0.1
端口:默认为6379
port 6379
设置守护进程 :默认是no
daemonize yes
数据文件:持久化时写入数据的文件
dbfilename dump.rdb
数据文件存储路径
dir /var/lib/redis
日志文件
logfile /var/log/redis/redis-server.log
数据库,默认有16个
database 16
主从复制
slaveof

服务端

1、服务端的命令为redis-server
2、可以使用help查看帮助文档
redis-server --help
3、推荐使用服务的方式管理redis服务
启动:sudo service redis start
指定加载的配置文件:sudo redis-server /etc/redis/redis.conf
停止:sudo service redis stop
重启:sudo service redis restart
查看redis服务进程:ps -ef | grep redis
杀死redis进程:sudo kill -9 pid

客户端

1、客户端命令:redis-cli
2、可以使用help查看帮助文档
redis-cli --help
3、连接:redis-cli -h -p
4、运行测试命令:ping
5、切换数据库:select n
redis默认有16个数据库,[0-15] 默认用的是第一个.

redis数据结构

redis是key-value类型的数据结构,key 的类型是字符串,key不能重复。value分为 string | list | hash | zset | set |

键命令

1、查找键,支持正则表达式
keys * 查找所有的键
2、判断键是否存在
exists key
3、获取值的类型
type key
4、删除键值
del key1 key2
5、设置过期时间
expire key seconds
6、查看有效时间
ttl key
在这里插入图片描述

string类型

string是redis中最基础的数据类型,它在redis中是二进制安全的。string类型可以接受任何格式的数据,如jpeg图像,或者json对象描述信息等。在reids中string 类型的value最多能容纳512M内容。

string新增

1、设置键值(如果key已经存在,则修改key的值;如果key不存在,则新加)
set key “value”
2、设置键值及过期时间
setex key seconds “value”
3、设置多个键值
mset key1 “value1” key2 “value2”

string修改

1、修改key的值
set key “new_value”
2、追加值
append key “append_value”

string获取

1、获取key的值,取不到值则返回nil。
get key
2、获取多个键对应的值
mget key1 key2 key3

string删除

del key
在这里插入图片描述

hash类型

hash类型用于存储对象,对象的结构为属性、值
值的类型是string
hash是无序的、不可重复的

hash新增、修改

1、设置单个属性
hset key field value
2、设置多个属性
hmset key field1 value1 field2 value2 field3 value3

hash获取

1、获取指定键的一个属性的值
hget key field
2、获取指定键的多个属性的值
hmget key field1 field2
3、获取指定键的所有属性
hkeys key
4、获取指定键所有属性的值
hvals key

hash删除

1、删除整个hash键和值
del key
2、删除指定键的某个属性
hdel key field1 field2
在这里插入图片描述

list类型

列表的元素类型是字符串
安装列表插入顺序排序
list是有序的、可重复的

list新增

1、从左侧插入数据
lpush key value1 value2
2、从右侧插入数据
rpush key value1 value2
3、在某个元素的左侧或者右侧插入数据
linsert key before|after oldvalue newvalue

list修改

设置指定位置元素的值
lset key index value

list获取

返回列表中指定范围的元素
lrange data start end
索引从左侧开始,第一个元素是0
索引可以是负数,表示从尾部开始计数,如-1表示最后一个元素。查看所有可以指定lrange data 0 -1

list 删除

将列表中前count次出现的值为value的元素删除
lrem key count value
count<0 从尾部开始移除元素
count>0 从头部开始移除元素
count=0 移除所有元素

在这里插入图片描述

set类型

set是无序不可重复的
元素为string类型
说明:set集合没有修改操作

set新增

sadd key value1 value2

set获取

smembers key

set删除

删除某个元素:srem key item
在这里插入图片描述

zset类型

zset 是有序集合类型、不可重复,元素为string类型
每个元素都会关联一个duble类型的score,表示权重,通过权重将元素按从小到大排序。
说明:zset集合没有修改操作

zset新增

zadd key score1 value1 score2 value2

zset获取

1、返回指定范围内的元素
start end是元素的下标索引
索引从左侧开始,第一个是0
索引可以是负值,表示从尾部开始计数,如-1表示最后一个元素
zrange key start end
2、返回score在指定范围内的元素
zrangebyscore key min max
3、返回成员的权值
zscore key member

zset删除

1、删除指定的元素
zrem key member1 meneber2
2、删除权重在指定范围内的元素
zremrangebyscore key min max

redis主从配置

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值