遂宁网站开发怎样自己开发一款软件
redis的数据类型:
string类型
设置key及value
key的命名规范
key是给存储在redis内存中的数据起的变量名字
在redis里边,key的命令规则不同于一般语言,键盘上除了【空格】【\n换行】不能作为名字的组成内容外,其他的大部分字符都可以使用,比如(像my key和mykey\n这样包含空格和换行的key是不允许的)。
名字长度不做要求,但也不要太长,占内存,查询慢,也不要太短,像u:100:pwd就不如user:100:password可读性好。
value的类型:strings\Lists\Sets\Sorted Sets\Hash
后面会重点讲解这几种类型。
注意:username这个key没有的话会创建,有的话,就会覆盖。
获取key及value
incr做自增操作,可以对某个key的value进行+1的操作
decr做自减操作,可以对某个key的value进行-1操作
incrby指定需要增加的数
decrby指定需要减去的数
keys *:获取redis里面的所有的key
一般redis的key是如何设计的???
思考:原先在mysql里面数据是如何存储的???
答:表使用行和列的组合,以【it_user】表为例。
如果需要把上面的mysql里面的表里面的数据存储redis里面,存储的key该如何设计???
答:分如下几步来操作:
把上面mysql表里面的记录保存在redis:
第一条记录的语句如下:
第二条记录的语句如下:
获取用户的信息,例如要获取用户id为1的信息:
扩展keys *命令的使用:
exists key:测试指定key是否存在,存在返回1,不存在返回0
现在来测试username这个key是否存在:
现在来测试name这个key是否存在:
type key返回指定key的value类型
默认情况下都是字符串的,后面我们学习了其他的数据类型以后,可以再来进行检测。
del key1 key2......keyn 删除指定的key
一次性删除多个key,删除的时候key和key之间使用空格隔开:
rename oldkey newkey 为key重命名
dbsize 返回当前数据库的key数量
expire key seconds为key指定过期时间,单位是秒
ttl key返回key的剩余过期秒数
Key过期以后,就会自动的删除该key
select db-index数据库的切换:数据库的编号是从0开始的。
默认是16个数据库:超出了报错了。
切换到索引是3的数据库,并查看该数据库的所有key:
默认使用的是索引为0的数据库:
通过查看redis的redis.conf配置文件得到信息:
最多共有16个数据库供操作:
move key db-index将key从当前数据库移动到指定的数据库
删除当前数据库中所有key
删除所有数据库中的所有key
总结:string类型是redis最基本的类型,redis的string可以包含任何数据,包括jpg图片或者序列化的对象,单个value值最大上限是1G字节,如果只用string类型,redis就可以被看作加上持久化特性的memcache。
string类型的扩展:
mset key1 key2......keyn 一次设置多个key的值:
mget key1 key2......keyn 一次获取多个key的值:
incr:increament增长
该指令可以对key进行累加1操作,默认是累加1操作,类似i++操作。
该指令可以针对新key或已有key进行操作,新key:创建该key并累加1,其值为1。已有key:key的信息值类型要求必须为整形的。