Redis非关系数据库

1.Redis非关系数据库

关系型数据库和非关系型数据库区别?

数据库的安全性?

关系型数据库数据都是持久化到硬盘中.

性能问题:

1.关系型数据库的性能比非关系型的差一些. 高并发 读写速度

12306:

最早时候抗压方式: 控制在线人数. 10000人

数据太复杂,

Redis+ rabbitMQ + 算法+ 黑名单限流

性能问题: 20000并发 Redis集群 16304

常见的非关系数据库:

Redis, MongoDB, ElasticSearch, Memcached,

Redis数据简介

1.安装

1.通过Docker安装redis
2.通过在Linux里也可以安装.  安装 c语言环境
3.windows里的,直接解压.
​
​
​
​

解压资料里的redis

双击redis-server启动

操作工具

2.数据库

增 删 改 查

key value

五种数据类型:

String

"zhangsan"
127.0.0.1:6379> set  name zhangsaan
OK
127.0.0.1:6379> get name
"zhangsaan"
127.0.0.1:6379> set name lisi
OK
127.0.0.1:6379> get name
"lisi"
127.0.0.1:6379> del name
(integer) 1
127.0.0.1:6379> get name
(nil)
127.0.0.1:6379>

Hash数据类型

127.0.0.1:6379> hset myhash name zhangsan
(integer) 1
127.0.0.1:6379> hset myhash age 18
(integer) 1
127.0.0.1:6379> hget myhash name
"zhangsan"
127.0.0.1:6379> hget myhash age
"18"
127.0.0.1:6379> hgetall myhash
1) "name"
2) "zhangsan"
3) "age"
4) "18"
127.0.0.1:6379> hgetvalus myhash
(error) ERR unknown command 'hgetvalus'
127.0.0.1:6379> hdel myhash name
(integer) 1
127.0.0.1:6379> hgetall myhash
1) "age"
2) "18"
127.0.0.1:6379>

List数据类型(可以存重复的数据,而且是有序的,和Java里的list集合类似)

127.0.0.1:6379> lpush mylist a
(integer) 1
127.0.0.1:6379> lpush mylist b
(integer) 2
127.0.0.1:6379> lpush mylist c
(integer) 3
127.0.0.1:6379> lpop mylist
"c"
127.0.0.1:6379> lrange mylist 0 -1
1) "b"
2) "a"
127.0.0.1:6379> rpush mylist d
(integer) 3
127.0.0.1:6379> lrange mylist 0 -1
1) "b"
2) "a"
3) "d"
127.0.0.1:6379> rpop mylist
"d"
127.0.0.1:6379> lrange mylist 0 -1
1) "b"
2) "a"
127.0.0.1:6379> rpush mylist b
(integer) 3
127.0.0.1:6379> lrange mylist 0 -1
1) "b"
2) "a"
3) "b"
127.0.0.1:6379>

Set数据类型

127.0.0.1:6379> sadd myset a
(integer) 1
127.0.0.1:6379> sadd myset b
(integer) 1
127.0.0.1:6379> smembers myset
1) "b"
2) "a"
127.0.0.1:6379> sadd myset b
(integer) 0
127.0.0.1:6379> smembers myset
1) "b"
2) "a"
127.0.0.1:6379> srem myset b
(integer) 1
127.0.0.1:6379> smembers myset
1) "a"

SoredSet数据类型(排序时候用的)

127.0.0.1:6379> zadd mysort 60 zhangsan
(integer) 1
127.0.0.1:6379> zadd mysort 50 li
(integer) 1
127.0.0.1:6379> zadd mysort 80 wangwu
(integer) 1
127.0.0.1:6379> zrange mysort 0 -1
1) "li"
2) "zhangsan"
3) "wangwu"

其他命令

127.0.0.1:6379> keys *
1) "myset"
2) "mylist"
3) "myhash"
4) "mysort"
127.0.0.1:6379>
127.0.0.1:6379> type myset
set
127.0.0.1:6379> del myset
(integer) 1
127.0.0.1:6379> set name zhangsan
OK
127.0.0.1:6379> get name
"zhangsan"
127.0.0.1:6379> exipire  name 5
(error) ERR unknown command 'exipire'
127.0.0.1:6379> expire name 5

Redis数据持久化

1.rdb:
    默认的是这种方式, 每隔一段时间(可以配置的),把数据持久到硬盘中  
    
    性能好
    数据完整性差
​
2.AOF:
     日志方式记录,只要数据发生变化,就会往硬盘中存储一次
     
     性能差,
     数据完整性高
     
rdb持久方式:     
#   after 900 sec (15 min) if at least 1 key changed
#   after 300 sec (5 min) if at least 10 keys changed
#   after 60 sec if at least 10000 keys changed
save 900 1
​
save 300 10
​
save 60 10000
​
​
​
AOP持久化方式:
​
# appendfsync always    每一次操作就持久化
appendfsync everysec    每隔一秒中进行一次持久化
# appendfsync no       不进行持久化

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值