redis-server # 使用默认配置
ps-ef I grep redis
netstat-antpl I grep redis
redis-cli-h ip-p port ping
redis-server -p 6380
redis-server /path/to/conf
daemonize 是否是守护进程(nolyes)
port Redis 对外端口号
logfile Redis系统日志
dir Redis工作目录
config get *
keys
keys *
key 后面可以使用正则表达式,但是一般推荐在生产环境中使用这个命令
bdsize 计算key的总数
exists 判断是否存在
存在就返回1,不存在就返回0
del key-value 删除指定的key-value 成功删除1 不存在0
expire
expire key seconds 设置seconds秒后过期
ttl
查看剩余的过期时间
persist
去掉过期时间
type
type key 返回key的过期时间
上面的命令出了keys 是O(n),其他全都是O(1).
redis是单线程的
单线程为什么这么快?
一次只运行一次命令
拒绝长命令
缓存,分布式锁,计数器.
get key 获取key对应的value值 时间复杂度为O(1)
set key value 设置key-value 时间复杂度为O(1)
del key 删除key-value 时间复杂度为O(1)
特点:
MapMap?
field不能相同,但是值可以相同
API
不常用的
集合的特点:无序性,无重复,集合间操作
sinter (求交集)
sdiff(求差集)
sunion(求并集)
scard 计数
sismember 判断是不是集合中的数据
srandmember 随机返回一个集合中的元素
spop随机删除一个集合中的元素
smember 返回所有的数据 小心使用这个API
和有序集合的对比
重要API
redis 主从复制
12⑦0.0.1:6380> slaveof 11.11.11.11 6370
OK (异步) 清空6380机器上的所有数据
12⑦0.0.1:6380> slaveof noone
ok 不会清除数据
配置文件
slaveof ip port
slave-read-only yes
redis配置
获取访问页面
localhost:5010/get
## ssdbadmin 网页上查看redis的数据内容
#是否作为守护进程运行
daemonize no
#Redis 默认监听端口
port 6379
#客户端闲置多少秒后,断开连接
timeout 300
#日志显示级别
loglevel verbose
#指定日志输出的文件名,也可指定到标准输出端口
logfile redis.log
#设置数据库的数量,默认最大是16,默认连接的数据库是0,可以通过select N 来连接不同的数据库
databases 32
#Dump持久化策略
#当有一条Keys 数据被改变是,900 秒刷新到disk 一次
#save 900 1
#当有10 条Keys 数据被改变时,300 秒刷新到disk 一次
save 300 100
#当有1w 条keys 数据被改变时,60 秒刷新到disk 一次
save 6000 10000
#当dump .rdb 数据库的时候是否压缩数据对象
rdbcompression yes
#dump 持久化数据保存的文件名
dbfilename dump.rdb
########### Replication #####################
#Redis的主从配置,配置slaveof则实例作为从服务器
#slaveof ip host
#主服务器连接密码
# masterauth
############## 安全性 ###########
#设置连接密码
#requirepass
############### LIMITS ##############
#最大客户端连接数
# maxclients 128
#最大内存使用率
# maxmemory
########## APPEND ONLY MODE #########
#是否开启日志功能
appendonly no
# AOF持久化策略
#appendfsync always
#appendfsync everysec
#appendfsync no
################ VIRTUAL MEMORY ###########
#是否开启VM 功能
#vm-enabled no
# vm-enabled yes
#vm-swap-file logs/redis.swap
#vm-max-memory 0
#vm-page-size 32
#vm-pages 134217728
#vm-max-threads 4
把连接放在单独的配置文件中,或者新建文件,在调用的时候从其他的地方导入过来
settings.py
import redis
POOL = redis.connectionpool(host ='12⑦0.0.1',port=6379,password='12',max_connections =1000)
其他
from settings import POOL
conn = redis.Redis(connection_pool = POOL)
在hgetall中如果,redis的内存过大,会发生爆栈的情况.
应该用hscan_iter(key,count)
列表操作
var = conn.blpop(k1,timeout = 10)
以上就是土嘎嘎小编为大家整理的Redis API相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!