redis学习
Posted 老鼠阿尔吉侬
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis学习相关的知识,希望对你有一定的参考价值。
详细的教程可以看http://www.redis.net.cn/tutorial/3505.html
我们这里是个最简易的教程
数据库server在ubutnu下面,我们直接自动安装
sudo apt-get install redis-server
修改配置文件,路径在/etc/redis/redis.conf
注释掉下面就可以监听所有本机ip
# bind 192.168.1.100 10.0.0.1
#bind 127.0.0.1
重启redis-server sudo service redis-server restart
现在使用windows客户端连接数据库,下载最新版本https://github.com/dmajkic/redis/downloads,切换到redis目录下运行 redis-cli.exe -h 192.168.1.188 -p 6379
192.168.1.188是我的ubuntu主机
现在,可以把redis当成普通数据库了。
接下来就是数据库操作。
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。
二:基本操作 1.1key键操作 1:exists key 测试指定key是否存在 2:del key1 key2 ---keyN 删除给定的key 3:type key 返回给定key的value类型 4:keys pattern 返回匹配指定模式的所有key 5:rename oldkey newkey 改名字 6:dbsize 返回当前数据库的key数量 7:expire key seconds 为key指定过期时间 8:ttl key 返回key的剩余过期秒数 9:select db-index 选择数据库 10 move key db-index 将key从当前数据库移动到指定的数据库 11:flushdb 删除当前数据库中所有的key 12:flushall 删除所有数据库中的所有key 1.2:string类型操作 string是redis最基本的类型,一般我们可以用来保存序列化的对象或者一些图片的二进制字符串 1:set key value 设置key对应的值为string类型的value 2:mset key1 value1 key2 value2 一次性设置多个key的值 3:mget key1 key2 ----keyN 一次获取多个key的值 4:incr key 对key的值做加加操作,并返回新的值 5:decr key 同上,但是做的是减减操作 6:incrby key integer 同incr,加指定值 7:decrby key integer 同decr,减指定值 8:append key value 给指定key的字符串值追加value 9:substr key start end 内容截取,内容下标从0开始,截取的内容包括start和end位置 1.3: List链表类型操作 list类型其实是一个双向的链表,通过push,pop操作从链表的头部或者尾部添加删除元素,这使得list既可以用作栈,也可以用作队列。一般我们使用它来获取最新的信息,可以存储n条,如果有新纪录加进来,就删除旧的信息 lpush key string 在key对应的list的头部添加字符串元素 rpop key 从list的尾部删除元素,并返回删除元素 llen key 对应list的长度,key不存在返回0,如果key对应类型不是list返回错误 lrange key start end 返回指定区间内的元素,下标从0开始 rpush key string 同上,在尾部添加 lpop key 从list的头部删除元素,并返回删除元素 ltrin key start end 截取list,保留指定区间内元素 1.4: set集合类型操作 set其实相当于string类型的无序集合 关于set集合类型除了基本的添加,删除操作,其他有用的操作还包含集合的并集,交集,差集,一般可以用来实现好友推荐功能 1:sadd key member 添加一个string元素到key对应的set集合中,成功就返回1,如果元素已经在集合中,返回0,key对应的set不存在返回错误 2:srem key member [member] 从key对应set中移除给定元素,成功就返回1 3:scard key 返回set的元素个数 4:sismember key member 判断member是否在set中 5:sinter key1 key2 key3 ---keyN 返回所有给定key的交集 6:sunion key1 key2 --keyN 返回所有给定key的并集 7:sdiff key1 key2 --keyN 返回所有给定key的差集 8:smembers key 返回key对应set的所有元素 1.5 sort set 排序集合类型 元素有排序功能,不存在多个相同的元素,和set一样,sorted set 也是string类型元素的集合,不同的每个元素都会关联一个权,通过权值来进行排序 1:zdd key 权 值 给key的set sort排序集合的key添加元素 2:zrevrange key start end 获取由高到低的各个元素值 3:zscore key value 获取元素的权信息 4:zrank key value 获取元素的排名序号 5:zcard key 获取集合的个数 6:zremrangebyrank key 0 0 删除一个权最小的旧元素
以上是关于redis学习的主要内容,如果未能解决你的问题,请参考以下文章