redis初接触-redis计数器练习

一:redis是什么?

这几天开始了解redis,简单的讲讲,我了解到的redis~

redis是一个kay-value的nosql数据库。先将数据存放在内存中,会根据一定的策略持久化到磁盘中,即使断电也不会丢失数据。

 

二:Redis常用的数据类型有五种:

1.string 字符串 整数型的字符串 ---赋值 set 获取值 get

2.hash 哈希 ---赋值 hset/hmset 获取值 hget/hmget/hgetall

3.list 列表 ---赋值 lpush 获取值 lrange

4.set集合(集合中的元素唯一)---赋值 sadd获取值 smembers

5.zset 有序集合 元素有分值,用于排序 ---赋值 zadd获取值 zrange

上面列举的命令都是最简单的,想了解所有的命令可查看菜鸟教程

http://www.runoob.com/redis/redis-tutorial.html

 

三:redis的使用场景:

1,缓存(把经常需要查询的、很少修改数据,放到读速度很快的空间(内存),以便下次访问减少时间。

减轻压力,减少访问时间.)

2,计数器(redis中的计数器是原子性的内存操作。)

3,session缓存服务器(web集群时做session缓存服务器)

 

四:实践操作:

下载redis 启动redis服务 再开启cmd

输入命令:redis-cli.exe -h 127.0.0.1 -p 6379

输入命令:exists mycounter                   判断mycounter这个变量是否存在

显示:(error)NOAUTH Authentication required.

原因:错误的含义是说你没有认证,说明没有使用密码连接

解决方案:找到redis安装目录下的redis.conf配置文件

redis初接触-redis计数器练习_第1张图片

中的搜索requirepass

后面跟的就是密码。

输入命令:auth “redis” 就OK了

 

五:听慕课音频做一个 redis计数器的简单练习

(后面才发现是php语音写的,下面的练习只是熟悉会用到的命令)

ps. 主要是操作数据类型string

输入命令:exists mycounter         

返回结果0,表示mycounter这个key不存在

 

输入命令:set mycounter 99         设置mycounter变量的值

输入命令:get mycounter              获取mycounter变量的值

输入命令:incr mycounter              相当于java中的mycounterr++

输入命令:incrby mycounter 2 相当于java中的mycounter+2

incrby 第二个变量可以为负数:

输入命令:incrby mycounter -2

输入命令:setnx mycounter 99     如果不存在mycounter变量则创建并赋值

结果返回0,则变量已经存在,没有创建新的变量;结果返回1则表示创建变量mycounter1并且赋值99.

输入命令:expire mycounter 30             设置变量mycounter的有效时长,30为毫秒

输入命令:ttl mycounter       查看变量mycounter的有效时长

当有效时长为负数时,则表明该变量已经失效,再判断该变量是否存在时,则为不存在

而没有设置过时长的变量,查询它的有效时长会是多少呢?

是-1,说明没有设置有效时长,只有redis 根据它的淘汰机制主动清理数据清理掉该变量时才会消失。

你可能感兴趣的:(记录,redis)