一: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配置文件
中的搜索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 根据它的淘汰机制主动清理数据清理掉该变量时才会消失。