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 : 每隔一秒进行一次