和redis建立socket链接

nc localhost 6379
[root@redis ~]# nc localhost 6379
keys *

*5
$6
unkey2
$5
unkey
$2
k1
$2
k2
$6
unkey1

set nckey a
+OK
flushall
+OK



[root@redis ~]# echo -e "set k2 99\n incr k2\n get k2" | nc localhost 6379
+OK
:100
$3
100

  

管道pipelingling

让通信成本变低

 

 

 

发布订阅

订阅方先订阅:
127.0.0.1:6379> subscribe ooxx
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "ooxx"
3) (integer) 1
1) "message"
2) "ooxx"
3) "one"

发布方在发布:
127.0.0.1:6379> publish ooxx one
(integer) 1

订阅消费信息:
3) "one"

 

 

 

事务

事务1操作k1
事务2操作k1

谁先提交事务谁先处理
例如:

第一台:
127.0.0.1:6379> get k1
"bbb"
127.0.0.1:6379> multi
OK
127.0.0.1:6379> get k1
QUEUED

第二台操作:
127.0.0.1:6379> get k1
"bbb"
127.0.0.1:6379> multi
OK
127.0.0.1:6379> set k1 ccc
QUEUED
127.0.0.1:6379> exec
1) OK
127.0.0.1:6379> get k1
"ccc"

第一台操作:
127.0.0.1:6379> exec
1) "ccc"



监控:
第一台:
127.0.0.1:6379> keys *
1) "k1"
127.0.0.1:6379> watch k1
OK
127.0.0.1:6379> multi
OK
127.0.0.1:6379> get k1
QUEUED
127.0.0.1:6379> keys *
QUEUED


第二台:
127.0.0.1:6379> multi
OK
127.0.0.1:6379> keys *
QUEUED
127.0.0.1:6379> set k1 bbb
QUEUED
127.0.0.1:6379> exec
1) 1) "k1"
2) OK
127.0.0.1:6379> keys *
1) "k1"

第一台:
127.0.0.1:6379> exec
(nil)

  

 

 

redisbloom布隆过滤器

1,访问redis.io
2,modules
3,访问RedisBloom的github
wget  https://github.com/RedisBloom/RedisBloom/archive/master.zip
4.yum install unzip
5.unzip *.zip
6.make
7.cp bloom.so  /opt/mashibing/redis5/
8.redis-server --loadmodule     /opt/bigdata/redis5/redisbloom.so
9 ,redis-cli  
10: 测试
bf.add  a  abc
bf.exits  a  abc

1,穿透了,不存在
2,client,增加redis中的key,value标记
3,数据库增加了元素
4,完成元素对bloom的添加

  

 

redis作为数据库/缓存的区别缓存!!!!

1.缓存数据不重要,不是全量数据
2.缓存应该随着访问变化(只存储热数据)

缓存:
缓存里的数据怎么能随着业务变化,只保留热数据,因为内存大小式有限的,也就是瓶颈

  

 

 

vi /etc/redis/6379.conf

bind 127.0.0.0.1 配置谁能访问
requirepass foobared 设置密码 bind和requirepass同时配置 外部才能访问

include /path/to/other.conf 配置文件也可以写这里

loadmodule /path/to/my_module.so 启动时候配置这个参数,也可以将配置文件加载进来
例如布隆: redis-server --loadmodule /opt/bigdata/redis5/redisbloom.so 


daemonize yes yes是后台启动,no是控制台

loglevel notice 日志级别

logfile /var/log/redis_3679.log

databases 16 默认16个库


内存配置
maxmemory <bytes> 建议1-10G
回收策略
maxmemory-policy noeviction 默认不回收
volatile-LFU 碰了多少次(回收使用最少的键)
allkeys-LRU  多久没碰他(回收长时间)

key有效期:
1.会随着访问延长? 不会
2.发生写,会剔除原过期时间
3.一直倒计时

淘汰过期原理:
1.主动: 客户端访问它时,key会被发现并主动的过期。
2.被动:  (概率算法)周期轮询检测,使得过期key低于25%

  

 

 

 

 

 

posted on 2021-01-19 00:14  陕西小楞娃  阅读(72)  评论(0编辑  收藏  举报