值的类型分为五种:
点击中⽂官⽹查看命令⽂档http://redis.cn/commands.html
lpush key value1 value2 …
a1
的列表左侧加⼊数据a 、 b 、c
lpush a1 a b c
rpush key value1 value2 …
a1
的列表右侧加⼊数据0、1
rpush a1 0 1
linsert key before或after 现有元素 新元素
a1
的列表中元素b
前加⼊3
linsert a1 before b 3
返回列表⾥指定范围内的元素
start
、stop
为元素的下标索引-1
表示最后⼀个元素lrange key start stop
a1
的列表所有元素lrange a1 0 -1
-1
表示最后⼀个元素lset key index value
a1
的列表中下标为1
的元素值为z
lset a 1 z
删除指定元素
count
次出现的值为value
的元素移除lrem key count value
a2
中加⼊元素a、b、a、b、a、b
lpush a2 a b a b a b
a2
列表右侧开始删除2个b
lrem a2 -2 b
a2
的所有元素lrange a2 0 -1
sadd key member1 member2 …
a3
的集合中添加元素zhangsan
、lisi
、wangwu
sadd a3 zhangsan sili wangwu
smembers key
a3
的集合中所有元素smembers a3
srem key
a3
的集合中元素wangwu
srem a3 wangwu
zadd key score1 member1 score2 member2 …
a4
的集合中添加元素lisi
、wangwu
、zhaoliu
、zhangsan
,权重分别为4、5、6、3
zadd a4 4 lisi 5 wangwu 6 zhaoliu 3 zhangsan
-1
表示最后⼀个元素zrange key start stop
a4
的集合中所有元素zrange a4 0 -1
score
值在min
和max
之间的成员zrangebyscore key min max
a4
的集合中权限值在5和6之间
的成员zrangebyscore a4 5 6
member
的score
值zscore key member
a4
的集合中元素zhangsan
的权重zscore a4 zhangsan
zrem key member1 member2 …
a4
中元素zhangsan
zrem a4 zhangsan
zremrangebyscore key min max
a4
中权限在5、6之间
的元素zremrangebyscore a4 5 6
安装Redis的有3种方式https://github.com/andymccurdy/redis-py
pip install redis
easy_install redis
一步步执行 wget https://github.com/andymccurdy/redis-py/archive/master.zip
unzip master.zip
cd redis-py-master
sudo python setup.py install
from redis import StrictRedis
StrictRedis对象
,⽤于连接redis服务器,并按照不同类型提供 了不同⽅法,进⾏交互操作sr = StrictRedis(host='localhost', port=6379, db=0)
简写
sr=StrictRedis()
from redis import *
if __name__=="__main__":
try:
#创建StrictRedis对象,与redis服务器建⽴连接
sr=StrictRedis()
except Exception as e:
print(e)
from redis import *
if __name__=="__main__":
try:
#创建StrictRedis对象,与redis服务器建⽴连接
sr=StrictRedis()
#添加键name,值为itheima
result=sr.set('name','itheima')
#输出响应结果,如果添加成功则返回True,否则返回False
print(result)
except Exception as e:
print(e)
from redis import *
if __name__=="__main__":
try:
#创建StrictRedis对象,与redis服务器建⽴连接
sr=StrictRedis()
#键name的值
result = sr.get('name')
#输出键的值,如果键不存在则返回None
print(result)
except Exception as e:
print(e)
from redis import *
if __name__=="__main__":
try:
#创建StrictRedis对象,与redis服务器建⽴连接
sr=StrictRedis()
#设置键name的值,如果键已经存在则进⾏修改,如果键不存在则进⾏添加
result = sr.set('name','itcast')
#输出响应结果,如果操作成功则返回True,否则返回False
print(result)
except Exception as e:
print(e)
from redis import *
if __name__=="__main__":
try:
#创建StrictRedis对象,与redis服务器建⽴连接
sr=StrictRedis()
#设置键name的值,如果键已经存在则进⾏修改,如果键不存在则进⾏添加
result = sr.delete('name')
#输出响应结果,如果删除成功则返回受影响的键数,否则则返回0
print(result)
except Exception as e:
print(e)
from redis import *
if __name__=="__main__":
try:
#创建StrictRedis对象,与redis服务器建⽴连接
sr=StrictRedis()
#所有的键
result=sr.keys()
#输出响应结果,所有的键构成⼀个列表,如果没有键则返回空列表
print(result)
except Exception as e:
print(e)
ifconfig
/etc/redis/redis.conf
文件sudo vi redis.conf
bind 192.168.26.128
sudo service redis stop
sudo redis-server redis.conf
/etc/redis/redis.conf
文件sudo cp redis.conf ./slave.conf
redis/slave.conf
文件sudo vi slave.conf
bind 192.168.26.128
slaveof 192.168.26.128 6379
port 6378
sudo redis-server slave.conf
redis-cli -h 192.168.26.128 info Replication
redis-cli -h 192.168.26.128 -p 6379
redis-cli -h 192.168.26.128 -p 6378
set aa aa
get aa
当请求到来首先由负载均衡服务器处理,把请求转发到另外的一台服务器上。
分类
软件层面:只有一台电脑,在这一台电脑上启动了多个redis服务。
port 7000
bind 172.16.179.130
daemonize yes
pidfile 7000.pid
cluster-enabled yes
cluster-config-file 7000_node.conf
cluster-node-timeout 15000
appendonly yes
port 7001
bind 172.16.179.130
daemonize yes
pidfile 7001.pid
cluster-enabled yes
cluster-config-file 7001_node.conf
cluster-node-timeout 15000
appendonly yes
port 7002
bind 172.16.179.130
daemonize yes
pidfile 7002.pid
cluster-enabled yes
cluster-config-file 7002_node.conf
cluster-node-timeout 15000
appendonly yes
总结:三个⽂件的配置区别在port、pidfile、cluster-config-file三项
使⽤配置⽂件启动redis服务
redis-server 7000.conf
redis-server 7001.conf
redis-server 7002.conf
port 7003
bind 172.16.179.131
daemonize yes
pidfile 7003.pid
cluster-enabled yes
cluster-config-file 7003_node.conf
cluster-node-timeout 15000
appendonly yes
port 7004
bind 172.16.179.131
daemonize yes
pidfile 7004.pid
cluster-enabled yes
cluster-config-file 7004_node.conf
cluster-node-timeout 15000
appendonly yes
port 7005
bind 172.16.179.131
daemonize yes
pidfile 7005.pid
cluster-enabled yes
cluster-config-file 7005_node.conf
cluster-node-timeout 15000
appendonly yes
总结:三个⽂件的配置区别在port、pidfile、cluster-config-file三项
使⽤配置⽂件启动redis服务
redis-server 7003.conf
redis-server 7004.conf
redis-server 7005.conf