Redis的介绍

1.Redis的介绍

是一个开源的使用 C 语言编写,支持网络,可基于内存亦可持久化的日志 key-value 数据库,是一
个非关系型数据库。 关系型数据库  mysql,oracle,sqlserver,db2 关系型数据库。

2.Redis 特性

Redis 远程的 :分为客户端,服务端。可以分别部署在不同的机器上,通过自定义协议进行 传输
和交互的。平时说的 Redis 通常指的是 Redis 的服务端。
Redis 基于内存的 :所有数据结构存在 内存 中。 所有操作非常高速。性能优越于硬盘存储的
mysql ,因为存在内存中,所有也是比较消耗内存的。
Redis 非关系型数据库 :本质是数据库,存储数据,区别于 Mysql 。 关系型数据库在存储之前,
必须要定义好所谓的数据字典,后续的存储数据按照存储字典来 存储,而 Redis 就不需要了。

3.Redis应用场景

1. 缓存: 当系统的接口数据比较慢的时候,可以把系统数据接口的数据缓存起来,当下次取的时
候,可以直接从缓存中取就可以了。
2. 数据存储: redis 有两种非常完备的持久化机制【 AOF RDB 】,可以定期将数据持久化硬
盘中,保障数据的完整性,安全性。

4.Redis的优点

我们在碰到需要执行 耗时 特别久,且结果不频繁变动的 SQL,就特别适合将运行结果放入缓存
这样,后面的请求就去缓存中读取,使得请求 能够迅速响应。
高并发:
在大并发的情况下,所有的请求直接访问数据库,数据库会出现 连接异常。这个时候,就需要使
redis 做一个缓冲操作,让请求先访问到 redis , 而不是直接访问 数据库

5.Redis性能优越的原因

(一)纯 内存 操作
(二) 单线程 操作,避免了频繁的上下文切换
(三)采用了非阻塞 I/O 多路复用 机制(有事情我就去做,没有什么事情我就做其它事情)

6.Redis的使用

解压安装、在Linux的/usr/local/bin目录下

redis-cli :表示 redis 的客户端
redis-server :表示 redis 的服务器
开启服务:  ./ redis-server

 启动服务后则该窗口什么也不能做了,因为 redis 启动方式默认前台启动。为了是窗口可以用,可

以设置 redis 后台启动

Port 6379 :redis 默认的端口号

6.1:Redis的配置

redis.conf 配置文件
bind 绑定那个 ip 地址
protected-mode yes 保护模式是否开启
port 6379 端口号
tcp-backlog 511 确定了 TCP 连接中已完成队列
timeout 0 设置客户端空闲超时时间,服务端不会主动断开连接,不能小于 0
tcp-keepalive 300 每个一段时间 300 秒发送一次请求 . 看是否还活着
daemonize yes 是否在后台执行!
supervised no 无监督交互
pidfile /var/run/redis_6379.pid 指定存储 Redis 进程号的文件路径
loglevel notice
日志级别 notice ( 仅试用于生产 )
logfile "" 配置
log 文件地址 , 默认打印在命令行终端的窗口上,也可设为 /dev/null 屏蔽日志
databases 16 指定数据库个数
maxclient 最大客户端连接数
Maxmemory
设置 Redis 可以使用的内存量。一旦到达内存使用上限, Redis 将会试图移除内部数据,
移除规则 可以通过 maxmemory-policy 来指定。如果 Redis 无法根据移除规则来移除内存中
的数据,或者设置了“不允许移除”,
那么 Redis 则会针对那些需要申请内存的指令返回错误信息,比如 SET LPUSH 等。
Maxmemory-policy noeviction 默认配置
1 volatile-lru :使用 LRU 算法移除 key ,只对设置了过期时间的键
2 allkeys-lru :使用 LRU 算法移除 key
3 volatile-random :在过期集合中移除随机的 key ,只对设置了过期时间的键
4 allkeys-random :移除随机的 key
5 volatile-ttl :移除那些 TTL 值最小的 key ,即那些最近要过期的 key
6 noeviction :不进行移除。针对写操作,只是返回错误信息
  (7)  cluster-enabled yes 是否开启集群

6.2设置Redis的后台启动

先使用 ctrl+c 退出前台启动
1. 回到 redis 的解压目录去找 redis.conf 配置文件
2.找到之后,拷贝到安装目录  cp redis.conf /usr/local/redis/bin
要修改 redis.conf 配置文件
daemonize no – daemonize yes 此属性表示设置 redis 的启动方式。
no 表示前台启动,yes 表示后台启动。
修改完成之后,再重新启动 redis

6.3Redis 的五种数据类型

String :是 Redis 最基本的类型 ,你可以理解成与 Memcached 一模一样的类型,一个 key 对应一
个 value Map key-value
String str = “hello”; redis key – value String s = new String(“”);
String 类型是二进制安全的。意味着 Redis string 可以包含任何数据。比如 jpg 图片或者序列的
对象。
String 类型是 Redis 最基本的数据类型,一个 Redis 中字符串 value 最多可以是 512M.
List:单键多值
Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的
头部(左边)或者尾部(右边)
它的底层实际是个 双向链表 ,对两端的操作性能很高,通过索引下标的操作中间的 节点性能会较
差。
Set
Redis set 对外提供的功能与 list 类似是一个列表的功能,特殊之处在于 set 是可以 动排重的 ,当
你需要存储一个列表数据,又不希望出现重复数据时,set 是一个很好的选择
Hash
Redis hash 是一个 键值对 集合。
Redis hash 是一个 string 类型的 field value 的映射表, hash 特别适合用于存储对象。
类似 Java 里面的 Map<String,Object>

 

 

Zset
Redis 有序集合 zset 与普通集合 set 非常相似,是一个没有重复元素的字符串集合。不同之处是有
序集合的没有成员都关联了一个评分( score ,这个评分( score 被用来按照从最低分到最高
分的方式排序集合中的成员。集合的成员是唯一的,但是评分可以是重复了。
因为元素是有序的 , 所以你也可以很快的根据评分( score )或者次序( position )来获取 一个范围
的元素。访问有序集合的中间元素也是非常快的, 因此你能够使用有序集合作为一个没有重复成员
的智能列表。
使用场景:

 

 6.4:常用命令

6.4.1:非数据类型常用查看命令

                                             6.查看键的类型

 

                                                        a)type <key>

                                             

6.4.2.String 类型常用命令

 

 6.4.3.List 类型常用命令

 6.4.4.Set类型常用命令

 6.4.5.Hash 类型常用命令

6.4.6.Zset 类型常用命令

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值