redis数据库的使用
redis数据库使用
django中使用redis要先进行配置,详情看:https://blog.csdn.net/paul0926/article/details/90725827
非关系型数据库,数据存储格式是键值结构,值得部分可分为5种:
- 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets)
修改密码和登录
修改密码:
1.找到redis配置信息文件,如/etc/redis.conf
2.找到 # requirepass foobared. 并去掉注释,后面的foobared改成你的密码。如:requirepass my_redis
3.重启redis, sudo service redid restart.(或者这样重启:sudo service redid restart, sudo redis-server /etc/redis.conf)
登录:
1.如果直接 redis-cli. 登陆,没密码,那么你能登陆,但无任何操作权限
2.用密码登陆。redis-cli -h 127.0.0.1 -p 6379 -a my_redis. 才能有权限操作
3.先redis-cli登陆,此时没有操作权限,再输入:AUTH your_password. 同样可以完成认证
redis基本操作
redis基本操作(终端):
命令 含义
- del key 删除key
- keys * 所有键
- get name 获取name这个键的值
- del name 删除name
- set name “wuanger” 创建“wuanger”,键为name
- select 2 表示切换到2库,注:Django的cache是存在1库的(上面设置的),进入redis的时候默认是0库的
- TTL name 查看剩余过期时间
- EXPIRE name 300 设置name的过期时间为300秒
- type name 查看name的属性(总共:string, list, hash, set,zset)
string语法格式
创建:set key value:key是唯一的,不存在就创建,存在则覆盖
(django_py3) python@ubuntu:~/Desktop/shanghuishop/shanghuishop$ redis-cli
127.0.0.1:6379[1]> select 0
OK
127.0.0.1:6379> set name xiaoming
OK
127.0.0.1:6379> keys *
1) "name"
2) ":1:django.contrib.sessions.cache3hly23rlbdca4zoerfls1z2uusyc09zw"
127.0.0.1:6379> get name
"xiaoming"
删除:del key删除指定的键名
127.0.0.1:6379> del name
(integer) 1
设置带有过期时间的:setex key time value时间单位为秒
127.0.0.1:6379> setex name 15 tom
OK
127.0.0.1:6379> keys *
1) "name"
设置多个键值对:mset key1 value1 key2 value2
给对应键值追加内容:append key value
一次获取多个值:mget key1 key2
删除当前数据库:flushdb
删除所有数据库:flushall
list语法格式
左插入:lpush 列表名 值1 值2 …
左插入意思是每个值都是往左边插入,即与我们输入的值顺序相反
下面插入实际上列表顺序为:java c++ python
127.0.0.1:6379> lpush project python c++ java
(integer) 3
127.0.0.1:6379> lrange project 0 1
1) "java"
2) "c++"
右插入:rpush插入内容,插入顺序和显示顺序一致,显示所有为: