放松一下,聊聊Redis操作命令

看了一天的博客,头懵懵的,没感觉脑袋要炸,只是实在看不下去了,码码字,放松一下,说的都是基础,面向面试请移步,深入了解请换页,哈哈。

说到Redis,大家都知道,这是一个非关系型数据库。它不需要保持高度的一致性,像MySQL这种关系型数据库,每一个表里面的每一条数据都是保持高度的一致性的,比如一个人学生的信息是学生表的一条数据,比如张三,那么这条记录的几个甚至几十个字段是一致的,比如你拿到了张三的学生编号,那么其他的数据都是固定的。都是有‘关系’的,当然,这种关系越多,就是字段越多,数据的读写(IO)肯定会更耗时,速度也会慢一些,所以,一般情况下,非关系型数据库速度是快一些的。

当然,单就Redis而言,它存数据是存到CPU内存的,读写的时候根本没有磁盘的IO,所以速度肯定会甩掉MySQL一大截,哪怕MySQL加索引也不行。

简单说下Redis,安装的就不多说了,要一个个截图,有点麻烦,咱就是奔着打字来的,截啥图啊,,

没玩过Redis?百度经验啊,安装Redis超级easy,而且Redis也不像MySQL那样好几个G,安装后计算机都卡了。。。

Redis是比较轻量的,我安装了Redis-x64-3.2.100,大小也就22M不到,是不是感觉Redis十分友好啊?还是截个图吧,有图有真相么~

下载安装包,解压安装后,应该会看到这样一个 文件夹,东西不多,常用的就更少了。。

第一个dump.rdb,这个应该是持久化文件,嗯,就是一种操作日志记录吧,如果深入了解Redis的话,就会了解到Redis的持久化原理了。至于持久化,首先Redis是存储在内存里面的,一旦机器宕机或者挂了,Redis里面的数据肯定都没了,万一Redis里面的数据很重要呢?自然要备份一下,再启动的时候,重新读取保存的信息,那就可以获取到之前的数据了,当然一般做缓存的话都是做的数据库缓存,Redis挂了,还有DB存在,不需要做持久化操作的哈。

回到正题,Redis主要有两个服务,redis-cli.exe和redis-server.exe。看名字就很清楚了,一个是客户端,一个是服务端,如果只是本地测试的话,肯定是要先打开服务端(redis-server.exe),然后在打开客户端(redis-cli.exe),然后客户端会自动连接到本机的服务端,也就是你刚刚打开的那个。接着,你就可以慢慢的摆弄Redis的操作命令了~

Redis一共有五种存储类型,我们来一一看下。

1、String

127.0.0.1:6379> set me handsome      // 设置key,value
OK
127.0.0.1:6379> get me               // 通过key获取value
"handsome"
127.0.0.1:6379> setex us 100 handsome   //设置key,value,过期时间
OK
127.0.0.1:6379> get us
"handsome"
127.0.0.1:6379> ttl us              //查看过期时间
(integer) 92
127.0.0.1:6379> keys us              //展示key
1) "us"
127.0.0.1:6379> keys *           //展示全部key
 1) "sys_dict:evaluate_fromTypeId"
 2) "me"
 3) "sys_dict:expiry_whetherOvernight"
 4) "sys_dict:sys_notice_status"
 5) "sys_dict:expiry_storageWayId"
 6) "sys_dict:screen_time"
127.0.0.1:6379> flushdb          //删除所有key
OK
127.0.0.1:6379> keys *           //数据库空了
(empty list or set)
127.0.0.1:6379> set me handsome 
OK
127.0.0.1:6379> expire me 100   // 设置key过期时间
(integer) 1
127.0.0.1:6379> ttl me         //查询过期时间
(integer) 95
  

2、Hash

127.0.0.1:6379> del me                      // 删除,操作之前删除之前的,不然key被占用,没法玩啊
127.0.0.1:6379> hset me appearance handsome   // hash设置一个key,value
(integer) 1
127.0.0.1:6379> hset me body strong           // 继续设置
(integer) 1
127.0.0.1:6379> hset me mind clever           // 继续设置
(integer) 1
127.0.0.1:6379> hget me appearance            // 获取key为me中的appearance
"handsome"
127.0.0.1:6379> hgetall me                    // 获取key为me中的所有
1) "appearance"
2) "handsome"
3) "body"
4) "strong"
5) "mind"
6) "clever"
127.0.0.1:6379> del me                      // 删除
(integer) 1
127.0.0.1:6379> hgetAll me                  //重新获取
(empty list or set)
127.0.0.1:6379> hmset me appearance handsome bode strong mind clever  // 一次性设置
OK
127.0.0.1:6379> hgetall me         //在获取
1) "appearance"
2) "handsome"
3) "bode"
4) "strong"
5) "mind"
6) "clever"
127.0.0.1:6379> hkeys me           // 获取hash中的所有key
1) "appearance"
2) "bode"
3) "mind"
127.0.0.1:6379> hlen me        // 看下key里面有几个字段
(integer) 3

3、列表,List

127.0.0.1:6379> del me
(integer) 0
127.0.0.1:6379> lpush me handsome   // 从左(开始)添加数据
(integer) 1
127.0.0.1:6379> lpush me clever
(integer) 2
127.0.0.1:6379> lpush me strong
(integer) 3
127.0.0.1:6379> lrange me 0 -1    //查看数据,从0开始,到最后
1) "strong"
2) "clever"
3) "handsome"
127.0.0.1:6379> rpush me smart    // 从右(结束)添加数据
(integer) 4
127.0.0.1:6379> lrange me 0 -1
1) "strong"
2) "clever"
3) "handsome"
4) "smart"
127.0.0.1:6379> lpop me    //从左删除(开始)
"strong"
127.0.0.1:6379> rpop me    //从右(结束)删除
"smart"
127.0.0.1:6379> lrange me 0 -1   //重新查看list
1) "clever"
2) "handsome"
127.0.0.1:6379> llen me    //长度
(integer) 2        

大致用的就这么多吧,如果要设置某个list的某个下标的值或者对其中一部分进行修改,建议删除后重新插入,毕竟都是代码操作,有点闭眼操作的的味道~  当然,也可以结合Redis数据库,这个看个人吧。

4、set

127.0.0.1:6379> sadd me handsome   //set 设置
(integer) 1
127.0.0.1:6379> sadd me clever
(integer) 1
127.0.0.1:6379> smembers me      // 获取set中的值
1) "clever"
2) "handsome"
127.0.0.1:6379> sadd me strong smart   // 添加多个set的值
(integer) 2
127.0.0.1:6379> smembers me            //重新获取,无序
1) "smart"
2) "clever"
3) "handsome"
4) "strong"
127.0.0.1:6379> sadd me handsome     // 重复添加,无效
(integer) 0
127.0.0.1:6379> smembers me
1) "smart"
2) "clever"
3) "handsome"
4) "strong"
127.0.0.1:6379> srem me smart    //移除set中的一个指定参数
(integer) 1
127.0.0.1:6379> smembers me
1) "strong"
2) "handsome"
3) "clever"

    5、zset

127.0.0.1:6379> del me                      // 删除
(integer) 1
127.0.0.1:6379> zadd me 1 handsome          // 添加me handsome 权重为1
(integer) 1
127.0.0.1:6379> zadd me 2 clever
(integer) 1
127.0.0.1:6379> zadd me 3 strong
(integer) 1
127.0.0.1:6379> zadd me 4 smart
(integer) 1
127.0.0.1:6379> zrange me 0 -1        //查询所有,无权重(或者说分数score)
1) "handsome"
2) "clever"
3) "strong"
4) "smart" 
127.0.0.1:6379> zrange me 0 -1 withscores  //查询所有,有权重(或者说分数score)
1) "handsome"
2) "1"
3) "clever"
4) "2"
5) "strong"
6) "3"
7) "smart"
8) "4"
127.0.0.1:6379> zscore me strong  //获取分值(权重)
"3"          
127.0.0.1:6379> zcard me           //获取数量
(integer) 4

Redis 主要的操作命令简单的展示了下,共同学习,共同进步哈~

No sacrifice,no victory~

猜你喜欢

转载自blog.csdn.net/zsah2011/article/details/111176377
今日推荐