初识redis

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初识redis相关的知识,希望对你有一定的参考价值。

这两天刚刚接触到redis,下面列出一些我的所学。

1、redis资源包的获取,从官网就可以获取到:http://redis.io/download

关于linux平台的reids资源的获取,可以参照网站的说明;要说的是windows平台,reids是不支持windows平台的,是不过微软开发团队自己弄了一份,从下面网址:https://github.com/MSOpenTech/redis/releases,下载64位的zip版本就行。

2、解压后可以看到

技术分享

双击redis-server.exe启动服务,然后双击redis-cli.exe,打开一个客户端,默认链接的是127.0.0.1:6379。

3、redis中的常用命令

redis中命令有很多,http://redis.io/commands官网搜索即可。我列举一些我经常使用的,如下

 

命令 描述
keys * 列出所有的键
set key value 添加一个键值对
get key 得到键对应的值
keys ‘*id‘ 列出所有包含id的键

 

命令 描述
hset user_main 1 zhangsan 插入一个hash表,表名为user_main,key是1,值是zhangsan
hkeys user_main 列出user_main中所有的keys
hget user_main 1 从user_main中
hdel user_main 1 删除命令
hexists user_main 1 判断user_main下的key为1的是否存在(不支持模糊查询)
hlen user_main 获取user_main下元素的长度
hvals user_main 获取该表下所有的values值

 

其他命令
   flushall    清空redis的存储

4、关于reids的4种基本类型的语法我就不详细讲解了,很简单,以string和Hash类型来讲解一下,主要用的比较多。

我主要讲一下redis和php文件以及和mysql的交互使用

  • php文件夹中使用redis

   redis-server.exe必须开启,示例代码如下:

<?php
//基本类型:string
$redis = new Redis();
$redis->connect("127.0.0.1","6379");
$redis->set("say","hello");
echo $redis->get("say");

//基本类型:hash
$redis = new Redis();
$redis->connect("127.0.0.1","6379");
$user_main = array(
    array(‘user_id‘=>‘1‘, ‘user_name‘=>‘zhangsan‘, ‘user_pass‘=>‘123‘, ‘user_sex‘=>‘男‘),
    array(‘user_id‘=>‘2‘, ‘user_name‘=>‘lisi‘, ‘user_pass‘=>‘123‘, ‘user_sex‘=>‘女‘),
    array(‘user_id‘=>‘3‘, ‘user_name‘=>‘wangwu‘, ‘user_pass‘=>‘123‘, ‘user_sex‘=>‘男‘),
);//假设以上数据是从数据库中提取出来的
foreach ($user_main as $user){
    $redis->hSet(‘user_main‘, $user[‘user_id‘], json_encode($user));
}
var_export($redis->hGetAll(‘user_main‘));
echo ‘入redis库成功‘;
  • redis和mysql的交互

   1)将mysql数据库中的数据读取到redis中,需要了解几个知识点:

      a.  将数据读取到文件中:

      windows平台,打开一个查询编辑器,例如navicat,新建查询,执行下面语句,即可将user_main中的数据输出到D盘下的user_main.txt文件中

select * from user_main limit 10 into outfile D:/user_main.txt

      linux平台,在进入mysql,执行以下语句,即可将数据取出到屏幕上,置于左侧用来作为输入。

mysql -u root -p -D mydb -e "这里写sql语句"

      b.  redis读取文件中的数据规范

hset user_main 4 zhangs 譬如这句话。
拆分成redis格式就是 (换行是\r\n)
*4  //按空格拆分有几段(几个命令)
$4  //代表下面的hset有几个字符长度
hset
$9
user_main//代表下面的user_main有几个字符长度
$1
4
$6
zhangs

      c.  linux中将mysql数据读取到redis中命令实例:

         使用select语句拼接成上述的格式,给一个实例:

select concat(*4,\r\n,$4,\r\n,hset,\r\n,$6,\r\n,mytest,\r\n
,$,LENGTH(id),\r\n,id,\r\n,$,LENGTH(name),\r\n,name,\r)
from mytest limit 0,10 

        将该语句保存到mytest.sql文件中

        执行:mysql -u root -p -D mydb --skip-column-names --raw  < mytest.sql | ./redis-cli --pipe

        其中,mydn是数据库名,--skip-column-names指跳过字段名,--raw指原生输出,./redis-cli指新建一个redis客户端,--pipe指使用redis的管道传输格式来批量将mytest.sql执行结果插入到redis中。

 

以上是关于初识redis的主要内容,如果未能解决你的问题,请参考以下文章

Java初识方法

初识OpenGL 片段着色器(Fragment Shader)

初识OpenGL 片段着色器(Fragment Shader)

redis初识01

初识OpenGL (-)纹理(Texture)

初识OpenGL (-)纹理(Texture)