如何进入redis数据库

如何进入redis数据库,第1张

本地安装了Redis并运行在6379端口,密码设置为 foobared.

from redis import StrictRedis

redis = StrictRedis(host='localhost',port=6379,db=0,password='foobared')

注释:db是数据名称

from redis import StrictRedis,ConnectionPool

pool = ConnectPool(host='localhost',port = 6379,db=0,password='foobared')

redis = StrictRedis(connection_pool=pool)

redis://[:password]@host:port/db

rediss://[:password]@host:port/db

unix://[:password]/path/to/socket.sock?db=db

url='redis://foobared@localhost:6379/0'

pool = ConnectionPool.from_url(url)

redis=StrictRedis(connection_pool=pool)

1、在配置文件redis.conf中把绑定的Ip注释掉 

 

2、在配置文件redis.conf中把protected-mode 改为 no 

3、在配置文件redis.conf中把requirepass 设置redis访问授权密码(自己随意设置就好),也可以登录redis客户端使用命令设置:如下: 

./redis-cli 

config set requirepass 123 //123是密码 

经过以上三步基本就可以了,不过也有特殊情况,访问的端口号6379有可能会被防火墙拦截,需要关闭系统的防火墙或取消对6379端口的拦截,这里不在细述。 

接下来就可以创建项目实现 *** 作redis数据库了。在这里我用的开发工具是eclipse,在eclipse中创建一个java Project项目如下图所示: 

项目创建完成后,在src同级目录下创建lib文件夹,导入 *** 作数据库所需jar包(晚上自行下载),jedis用来 *** 作数据库,commons-pool用来实现数据库连接池。 

启动redis服务器: 

创建RedisDemoSimple.java代码如下:

package com.redis.redisDb

import redis.clients.jedis.Jedispublic class RedisDemoSimple {    public static void main(String[] args) {        //ip地址为虚拟机Ip 端口为redis端口

        Jedis jedis = new Jedis("192.168.228.129", 6379)        //redis访问权限 为redis配置文件中redis.conf中配置的requirepass

        jedis.auth("myredis")

        jedis.set("redis_first", "hello")

        System.out.println("key redis_first:"+jedis.get("redis_first"))

    }

}

控制台打印如下:

启动redis客户端查询插入数据库的值: 

 

到此就连接成功了。

简而言之,Redis是一种强大的key-value数据库,之所以强大有两点:响应速度快(所以数据内存存储,只在必要时写入磁盘),特性丰富(支持多种数据类型,以及各类型上的复杂 *** 作)。

事实上,Redis的一个重要特性就是它并非通常意义上的数据库,虽然称之为数据库是因为它可以为你存储和维护数据,但它并不像关系数据库那样提供任何的SQL方言。不过不用担心,Redis并不是吞噬数据的黑洞,它只是不支持SQL及相关功能,但却提供了稳健的协议用于与之交互。

在Redis中,没有数据表的概念,也无须关心select、join、view等 *** 作或功能,同时也不提供类似于int或varchar的数据字段。你面对的将是相对原始的数据集合及数据类型。

探索之二:Available datatypes

下面我们深入看下这个奇怪的数据库是如何工作的。如上所见,Redis是基于key-value范式存储数据,所以先来重点看下"key"的概念。

key本质上就是简单的字符串,诸如"username"、"password"等。在定义key时,除了不能使用空格,你可以随意的使用普通的字符、数字等,像".",":","_"等在定义key时都能正常使用,所以像"user_name", "user:123:age", "user:123:username"都是不错的key的定义方式。

不像RDBMS中的字段名称,这里的key是Redis中的重要组成部分,所以我们必须在处理key时多加小心。在下面的讲述中,Redis并没有table的概念,所以像"SELECT username from users WHERE user_id=123"这种简单任务都只能换种方式实现,为了达到这种目的,在Redis上,一种方式是通过key "user:123:username"来获取结果value。如你所见,key的定义中携带了神秘信息(像user ids)。在Redis中,key的重要性可见一斑。(其他key-value数据库中key的地位也是如此。)


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9936663.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-03
下一篇2023-05-03

发表评论

登录后才能评论

评论列表(0条)

    保存