redis

Redis 操作

1. 开启redis 操作
     1. Redis目录下 执行redis-server.exe redis.windows.conf 开启Redis服务 ip地址 及端口号
     2. redis-cli -p 6379  连接ip地址准备接受数据 加上 --raw可以查看中文
     3.redis数据库的配置文件进行配置:关闭保护模式和注释掉bind 127.0.0.1

2. 基本操作
     1. Key* 查看所有目录   
    2. type 查看类型 
    3. flushdb 清空db 
    4.  flushall 清空数据库   
    5.  select db 切换db

3. 列表操作 list
     1. lpush mylist “ world ” 向mylist 左边添加一个值
     2. llen mylist 返回长度 
     3. lrange qiubaiData 1 -1 返回所有值 

4. 集合操作 set
     1. sadd myset “hello word” 添加数据
     2. smembers myset 获取所有元素
     3. scrad 获取数量   

5. 权重列表 zset
     1. 有权重的集合  zadd 1  “one”  添加权重1 值one 
     2. zrange myset  0 -1 withscores 查看值和权重
     3. zcard 查看数量
     4. 添加值时如果存在就更新分数 

6. 字符串类型 string
            1. 存储: set key value     127.0.0.1:6379> set username zhangsan    ok
            2. 获取: get key              127.0.0.1:6379> get username             "zhangsan"
            3. 删除: del key             127.0.0.1:6379> del age         (integer) 1

7. 哈希类型 hash   key value  嵌套    key value
            1. 存储: hset key field value   
                     127.0.0.1:6379> hset myhash username lisi          (integer) 1
                     127.0.0.1:6379> hset myhash password 123        (integer) 1
            2. 获取: hget key field: 获取指定的field对应的值      127.0.0.1:6379> hget myhash username    "lisi"
            3.hgetall key:获取所有的field和value  127.0.0.1:6379> hgetall myhash
                    1) "username"
                    2) "lisi"
                    3) "password"
                    4) "123"
            4. 删除: hdel key field  127.0.0.1:6379> hdel myhash username     (integer) 1

redis 实现过期key及时提醒

1. 修改配置文件
     - redis.conf 里面的
          notify-keyspace-events " Ex"
 2. 重启redis
     service redis restart      ( Linux)
     brew services restart redis  ( mac)
 3. redis-cli 测试
          - 语法
              127.0.0.1:6379>psubscribe __keyevent @0__:expired
              重新打开一个redis
              127.0.0.1:6397> setex test 5 "test value"   (回车后会等待 )
              5秒过后,前一个redis-cli 会显示 出test 这个key 名称
 4. python代码实现
 import redis
conn=redis.StrictRedis('127.0.0.1',6379)
psub=conn.pubsub()
psub.psubscribe("__keyevent@0__:expired")
# psub.listen  返回一个迭代器
for data in psub.listen():
    print(data)
- 启动py文件  同样发生阻塞,另开一个 redis-cli 
 - 27.0.0.1:6397> setex test 5 "test value"
     - 5秒后 py打印出数据

4. 持久化

1. redis是一个内存数据库,当redis服务器重启,获取电脑重启,数据会丢失,我们可以将redis内存中的数据持久化保存到硬盘的文件中。
    1. RDB:默认方式,不需要进行配置,默认就使用这种机制
                * 在一定的间隔时间中,检测key的变化情况,然后持久化数据
                1. 编辑redis.windwos.conf文件
                    #   after 900 sec (15 min) if at least 1 key changed
                    save 900 1
                    #   after 300 sec (5 min) if at least 10 keys changed
                    save 300 10
                    #   after 60 sec if at least 10000 keys changed
                    save 60 10000
                2. 重新启动redis服务器,并指定配置文件名称
                    D:\JavaWeb2018\day23_redis\资料\redis\windows-64\redis-2.8.9>redis-server.exe redis.windows.conf    
     2. AOF:日志记录的方式,可以记录每一条命令的操作。可以每一次命令操作后,持久化数据
                1. 编辑redis.windwos.conf文件
                    appendonly no(关闭aof) --> appendonly yes (开启aof)
                    
                    # appendfsync always : 每一次操作都进行持久化
                    appendfsync everysec : 每隔一秒进行一次

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值