Redis简单安装使用

REmote DIctionary Server(Redis) 是一个key-value存储系统,开源,使用C语言编写的,遵循 BSD协议,支持网络,可基于内存也可持久化的日志型的数据库,并且具有多种语言的API。通常也可被称之为数据结构服务器,由于value可以是字符串-string,哈希-Map,列表-list,集合-sets和有序集合-sorted sets等类型,具有的特点

 1,支持数据的持久化,可以将内存中的数据保存在磁盘中,重启时候可以再次加载

 2,支持简单的key-value类型的数据,也支持list,set,zset,hash等数据结构的存储

 3,支持数据的备份,master-slae模式的数据备份

优势:

高性能;丰富的数据类型;原子操作;丰富特性

 

安装启动

安装

下载地址http://download.redis.io/releases/redis-4.0.1.tar.gz,

 

$ wget http://download.redis.io/releases/redis-4.0.1.tar.gz
$ tar xzf redis-4.0.1.tar.gz
$ cd redis-4.0.1
$ make

如果执行make test后遇到问题:[err]: PEXPIRE/PSETEX/PEXPIREAT can set sub-second expires in tests/unit/expire.tcl

从此网站下载tcl:http://downloads.sourceforge.net/tcl

进入目录,./configure make  make install即可

 

启动,进入src目录

 

[root@centos7 src]# ./redis-server
7026:C 13 Aug 11:36:55.505 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
7026:C 13 Aug 11:36:55.506 # Redis version=4.0.1, bits=64, commit=00000000, modified=0, pid=7026, just started

使用命令行工具redis-cli访问,下边演示了string类型的使用

 

 

[root@centos7 src]# ./redis-cli 
127.0.0.1:6379> set foo bar
OK
127.0.0.1:6379> 
127.0.0.1:6379> get foo
"bar"


配置

 

一般配置文件在根目录的redis.conf,命令行获取配置格式:CONFIG GET CONFIG_NAME,可以使用*代替config_name获取所有配置信息

 

127.0.0.1:6379> config get loglevel
1) "loglevel"
2) "notice"

使用config set命令修改配置CONFIG SET CONFIG_OLD_NAME NEW_CONFIG_VALUE

 

简单使用

最后演示其他几个数据类型

hash,Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象

语法:

 

 HMSET key field value [field value ...]
127.0.0.1:6379> HMSET u:1 f1 v1 f2 v2 f3 v3
OK
127.0.0.1:6379> hgetall u:1
1) "f1"
2) "v1"
3) "f2"
4) "v2"
5) "f3"
6) "v3"

其中u:1为键值

 

list列表,列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)
语法:

 

lpush key value [value ...]
127.0.0.1:6379> lpush k1 v1
(integer) 1
127.0.0.1:6379> lpush k2 v2
(integer) 1
127.0.0.1:6379> lpush k3 v3
(integer) 1
127.0.0.1:6379> lpush k1 v2
(integer) 2
127.0.0.1:6379> lpush k1 v3
(integer) 3
127.0.0.1:6379> lrange k1 0 10
1) "v3"
2) "v2"
3) "v1"


集合set,集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)

语法:

sadd key member [member ...]
127.0.0.1:6379> sadd k1 v1
(error) WRONGTYPE Operation against a key holding the wrong kind of value
127.0.0.1:6379> sadd setk1 v1
(integer) 1
127.0.0.1:6379> sadd setk1 v2
(integer) 1
127.0.0.1:6379> sadd setk1 v3
(integer) 1
127.0.0.1:6379> sadd setk1 v3
(integer) 0
127.0.0.1:6379> smembers setk1
1) "v1"
2) "v3"
3) "v2"

根据集合内元素的唯一性,第二次插入的元素将被忽略
有序集合zset,edis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。zset的成员是唯一的,但分数(score)却可以重复
语法

 

zadd key [NX|XX] [CH] [INCR] score member [score member ...]
127.0.0.1:6379> zadd zsetk1 0 redis
(integer) 1
127.0.0.1:6379> zadd zsetk1 0 mysql
(integer) 1
127.0.0.1:6379> zadd zsetk1 0 postgresql
(integer) 1
127.0.0.1:6379> zadd zsetk1 0 postgresql
(integer) 0
127.0.0.1:6379> zrange zsetk1 0 1000
1) "mysql"
2) "postgresql"
3) "redis"
127.0.0.1:6379> zadd zsetk1 10 mysql
(integer) 0
127.0.0.1:6379> zrange zsetk1 0 1000
1) "postgresql"
2) "redis"
3) "mysql"

 

关闭redis
apt-get或者yum install安装的redis,可以直接通过下面的命令停止/启动/重启redis
/etc/init.d/redis-server stop
/etc/init.d/redis-server start
/etc/init.d/redis-server restart

如果是通过源码安装的redis,则可以通过redis的客户端程序redis-cli的shutdown命令来关闭:
redis-cli -h 127.0.0.1 -p 6379 shutdown

python的redis组件

如果要安装python的redis组件,两种方法

1,直接安装

 pip3.6 install redis

2,下载安装包https://github.com/andymccurdy/redis-py

然后python setup.py install

举例:

[root@centos7 ~]# python
Python 3.6.0 (default, Apr  2 2017, 17:16:19) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import redis
>>> r=redis.S
redis.SSLConnection(  redis.StrictRedis(    
>>> r=redis.StrictRedis(host='localhost',port=6379,db=0)
>>> r.set('string1','v1')
True
>>> r.get('string1')
b'v1'

连接语法: redis.StrictRedis(host='localhost', port=6379, db=0, password=None, socket_timeout=None, connection_pool=None, charset='utf-8', errors='strict', decode_responses=False, unix_socket_path=None)

另外还有旧版本的redis连接,说明,redis-py提供两个类Redis和StrictRedis用于实现Redis的命令,StrictRedis用于实现大部分官方的命令,并使用官方的语法和命令(比如,SET命令对应与StrictRedis.set方法)。Redis是StrictRedis的子类,用于向后兼容旧版本的redis-py。简单说,官方推荐使用StrictRedis方法。不推荐Redis类,原因是他和咱们在redis-cli操作有些不一样

Redis的连接池的方法:
pool = redis.ConnectionPool(host='localhost',port=6379,db=0)
r = redis.Redis(connection_pool=pool)

StrictRedis的连接池的实现方式:
pool = redis.ConnectionPool(host='localhost',port=6379)
r = redis.StrictRedis(connection_pool=pool)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

朝闻道-夕死可矣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值