Redis数据库操作

2016/05/21 Redis 阅读次数:

摘要: redis数据库启动关闭,以及redis数据类型,每种数据类型操作方法,如何与python交互,如何配置redis主从服务器

redis-server --help				查看帮助文档 #### 通用启动redis:

sudo redis-server /etc/redis/redis.conf			redis启动
sudo kill -9  redis-server进程id		redis停止

配置的虚拟机启动redis:

sudo service redis start		redis启动
sudo service redis stop			redis停止

redis-cli			 连接redis
redis-cli -h ip -p port 连接redis
redis-cli -h ip -c -p port  连接redis集群

flushall 清除数据库

string:

set name itcast					设置键为name值为itcast的数据
setex aa 3 aa					设置键为aa值为aa过期时间为3秒的数据
mset a1 python a2 java a3 c     设置键为'a1'值为'python'、键为'a2'值为'java'、键为'a3'值为'c'
append a1 haha					向键为a1中追加值' haha'
get name						获取键'name'的值
mget a1 a2 a3					获取键a1、a2、a3'的值 ### key:

keys *							查看所有键
keys a*							查看名称中包含a的键
exists a1						判断键a1是否存在
type a1							查看键a1的值类型,为redis⽀持的五种类型中的⼀种
del a2 a3						删除键a2、a3
expire a1 3						设置键'a1'的过期时间为3秒
ttl bb							查看键'bb'的有效时间 ### hash:

hset user name itheima			设置键 user的属性name为itheima
hmset u2 name itcast age 11		设置键u2的属性name为itcast、属性age为11
hkeys u2						获取键u2的所有属性
hget u2 'name'					获取键u2属性'name'的值
hmget u2 name age				获取键u2属性'name'、'age的值
hvals u2						获取键'u2'所有属性的值
hdel u2 age 					删除键'u2'的属性'age'

list:

lpush a1 a b c 					从键为'a1'的列表左侧加⼊数据a 、 b 、c
rpush a1 0 1  					从键为'a1'的列表右侧加⼊数据0 1
linsert a1 before b 3			在键为'a1'的列表中元素'b'前加⼊'3'
lrange a1 0 -1					获取键为'a1'的列表所有元素
lset a 1 z 						修改键为'a1'的列表中下标为1的元素值为'z'
lrem a2 -2 b 					从'a2'列表右侧开始删除2个'b'
lrange a2 0 -1					查看a2列表所有元素

set:

sadd a3 zhangsan sili wangwu 	向键'a3'的集合中添加元素'zhangsan'、'lisi'、'wangwu'
smembers a3						获取键'a3'的集合中所有元素
srem a3 wangwu					删除键'a3'的集合中元素'wangwu' ### zset:

向键'a4'的集合中添加元素'lisi'、'wangwu'、'zhaoliu'、'zhangsan',权重分别为4、5、6、3
zadd a4 4 lisi 5 wangwu 6 zhaoliu 3 zhangsan

zrange a4 0 -1					获取键'a4'的集合中所有元素
zrangebyscore a4 5 6			获取键'a4'的集合中权限值在5和6之间的成员
zscore a4 zhangsan				获取键'a4'的集合中元素'zhangsan'的权重
zrem a4 zhangsan				删除集合'a4'中元素'zhangsan'
zremrangebyscore a4 5 6			删除集合'a4'中权限在5、6之间的元素

与python交互:

进入django虚拟环境下:
	pip install redis
	pip install django-redis-sessions==0.5.6
from redis import StrictRedis
sr = StrictRedis(host='localhost', port=6379, db=0)

主从服务器配置:

1、cd /etc/redis/
2、sudo cp redis.conf ./slave.conf
3、sudo vi slave.conf
4、bind 192.168.26.128
	slaveof 192.168.26.128 6379
	port 6380  从服务器端口  
5、sudo redis-server slave.conf  启动从redis服务
6、redis-cli -h 192.168.222.130 info Replication   查看主从关系  默认的需要输入端口
	redis-cli -h 192.168.222.130 -p 6380 info Replication

redis-trib.rb create --replicas 1 192.168.222.130:7000 192.168.222.130:7001 192.168.222.130:7002 192.168.222.131:7003 192.168.222.131:7004 192.168.222.131:7005

redis-dump 数据导出导入

  1. 安装ruby和依赖,然后安装redis-dump
apt-get install ruby ruby-dev gcc
gem install redis-dump
  1. 导出redis-dump,password是redis密码,没有可以省略;xxx是redis服务器ip
# 没有密码
redis-dump -u xxx.xxx.xxx.xxx:6379 > /home/yyl/db.json
# 有密码 
redis-dump -u :password@xxx.xxx.xxx.xxx:6380 > /home/yyl/db.json

Search

    Table of Contents