当前位置: 首页 > news >正文

开发门户网站适合奖励自己的网站免费

开发门户网站,适合奖励自己的网站免费,域名注册免费申请,软件开发工具是协助软件开发人员redis 1、redis安装与启动服务2、redis数据类型3、redis常用命令3.1 字符串String3.2 哈希Hash3.3 列表List3.4 集合Set(无序)3.5 有序集合zset3.6 通用命令 4、使用Java操作Redis4.1 环境准备4.2 Java操作字符串String4.3 Java操作哈希Hash4.4 Java操作…

redis

  • 1、redis安装与启动服务
  • 2、redis数据类型
  • 3、redis常用命令
    • 3.1 字符串String
    • 3.2 哈希Hash
    • 3.3 列表List
    • 3.4 集合Set(无序)
    • 3.5 有序集合zset
    • 3.6 通用命令
  • 4、使用Java操作Redis
    • 4.1 环境准备
    • 4.2 Java操作字符串String
    • 4.3 Java操作哈希Hash
    • 4.4 Java操作列表List
    • 4.5 Java操作集合Set(无序)
    • 4.6 Java操作有序集合zset
    • 4.7 Java实现Redis常用命令

redis是基于内存的key-value结构的数据库。

1、redis安装与启动服务

安装redis主需要将下载好的redis压缩包解压到无中文的目录中即可。

启动服务打开命令行窗口,通过cd命令进入redis安装目录。或者在资源管理器中先进入redis安装目录,然后再该目录中打开命令行窗口。输入如下命令启动redis服务:

redis-server.exe redis.windows.conf

在这里插入图片描述
关闭服务按Ctrl + C

通过客户端连接redis服务。在安装目录中重新打开一个命令行窗口。由于redis默认是没有密码的,所以可以直接输入如下命令:

redis-cli.exe

设置redis密码。打开redis配置文件redis.windows.conf,找到配置密码命令,大概在443行。取消注释,将foobared替换成自己的密码,保存文件,重新启动服务即可。

requirepass foobared

设置密码之后重新通过客户端连接redis服务需要加上密码,完整命令为:

// -h 指定主机地址 -p 指定端口 -a redis密码
redis-cli.exe -h localhost -p 6379 -a 123456

可以通过redis客户端可视化软件连接redis服务,简化redis操作。

2、redis数据类型

redis有5种常用数据类型。

数据类型特点
字符串(String)普通字符串,Redis中最简单的数据类型
哈希(hash)也叫散列,类似于Java中的HashMap结构
列表(list)按照插入顺序排列,可以有重复元素,类似于Java中的LinkedList
集合(set)无序集合,没有重复元素,类似于Java中的HashSet
有序集合(sorted set / zset)集合中每个元素关联一个分数(score),根据分数升序排序,没有重复元素

在这里插入图片描述

3、redis常用命令

3.1 字符串String

命令说明
SET key value设置指定key的值
GET key获取指定key的值
SETEX key seconds value设置指定key的值,并将key的过期时间设为seconds秒
SETNX key value只有在key不存在时设置key的值

3.2 哈希Hash

Redis hash是一个 String 类型的 field 和 value 的映射表,hash 特别适合用于存储对象。

命令说明
HSET key field value将哈希表key中的字段field的值设为value
HGET key field获取存储在哈希表中指定字段的值
HDEL key field删除存储在哈希表中的指定字段
HKEYS key获取哈希表中的所有字段
HVALS key获取哈希表中的所有值

3.3 列表List

命令说明
LPUSH key value1 [value2]将一个或多个值插入到列表头部
LRANGE key start stop获取列表指定范围内的元素,查询所有元素start=0,stop=1
RPOP key移除并获取列表最后一个元素
LLEN key获取列表长度

3.4 集合Set(无序)

命令说明
SADD key member1 [member2]向集合添加一个或多个成员
SMEMBERS key返回集合中的所有成员
SCARD key获取集合的成员数
SINTER key1 [key2]返回给定所有集合的交集
SUNION key1 [key2]返回所有给定集合的并集
SREM key member1 [member2]删除集合中一个或多个成员

3.5 有序集合zset

命令说明
ZADD key score1 member1 [score2 member2]向有序集合添加成员
ZRANGE key start stop [WITHSCORES]通过索引区间返回有序集合中指定区间内的成员
ZINCRBY key increment member有序集合中对指定成员的分数加上增量increment
ZREM key member [member…]移除有序集合中的一个或多个成员

3.6 通用命令

命令说明
KEYS pattern查找所有符合给定模式(pattern)的key
EXISTS key检查给定key是否存在
TYPE key返回key所储存的值的类型
DEL key该命令用于在key存在时删除key

4、使用Java操作Redis

Redis的Java客户端有很多种,这里介绍Spring Data Redis。
Spring Data Redis是Spring的一部分,对Redis底层开发包进行了高度封装。在Spring项目中,可以使用Spring Data Redis来简化操作。

4.1 环境准备

  1. 引入Redis依赖
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
  1. 在配置文件中配置Redis数据源
    host:主机地址;port:Redis端口号;password:Redis密码;database:数据库0-15
spring:redis:host: localhostport: 6379password: 123456database: 0
  1. 编写配置类
@Configuration
@Slf4j
public class RedisConfiguration {@Beanpublic RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory) { // 注入Redis连接工厂对象log.info("开始创建RedisTemplate对象...");RedisTemplate redisTemplate = new RedisTemplate();// 设置redis的连接工厂对象redisTemplate.setConnectionFactory(redisConnectionFactory);// 设置redis key的序列化器redisTemplate.setKeySerializer(new StringRedisSerializer());return redisTemplate;}
}
  1. 通过注入RedisTemplate 对象操作Redis。
// 注入RedisTemplate 对象
@Autowired
private RedisTemplate redisTemplate;

4.2 Java操作字符串String

说明方法
获取操作 String 的对象opsForValue()
设置指定key的值set(key, value)
获取指定key的值get()
设置指定key的值,并设置key的过期时间set(key, value, 时间, 单位)
只有在key不存在时设置key的值setIfAbsent(key, value)

Java代码示例:

ValueOperations valueOperations = redisTemplate.opsForValue();  // 获取操作 String 的对象
valueOperations.set("city", "beijing");  						// SET key value
String city = (String) valueOperations.get("city");  				// GET key
System.out.println(city);valueOperations.set("code", "123456", 60, TimeUnit.SECONDS); 	// SETEX key seconds value
valueOperations.setIfAbsent("lock", 1);  						// SETNX key value
valueOperations.setIfAbsent("lock", 2);

4.3 Java操作哈希Hash

说明方法
获取操作 hash 的对象opsForHash()
将哈希表key中的字段field的值设为valueput(key, field, value)
获取存储在哈希表中指定字段的值get(key, field)
删除存储在哈希表中的指定字段delete(key, field)
获取哈希表中的所有字段keys(key)
获取哈希表中的所有值values(key)

Java代码示例:

HashOperations hashOperations = redisTemplate.opsForHash();  // 获取操作 hash 的对象
hashOperations.put("100", "name", "Tom");  				// HSET key field value
hashOperations.put("100", "age", "20");
String name = (String) hashOperations.get("100", "name");  // HGET key field
System.out.println(name);Set keys = hashOperations.keys("100"); 					// HKEYS key
System.out.println(keys);
List values = hashOperations.values("100");  				// HVALS key
System.out.println(values);
hashOperations.delete("100", "name");  					// HDEL key field

4.4 Java操作列表List

说明方法
获取操作 list 的对象opsForList()
将一个或多个值插入到列表头部leftPushAll(key, value1, value2)
插入单个值leftPush(key, value)
获取列表指定范围内的元素,查询所有元素start=0,stop=1range(key, start, stop)
移除并获取列表最后一个元素rightPop(key)
获取列表长度size(key)

Java代码范例:

ListOperations listOperations = redisTemplate.opsForList();  // 获取操作 list 的对象
listOperations.leftPushAll("mylist", "a", "b", "c");  	// LPUSH key value1 [value2] 插入多个值
listOperations.leftPush("mylist", "d");  			// LPUSH key value1 插入单个值List mylist = listOperations.range("mylist", 0, -1); 	// LRANGE key start stop
System.out.println(mylist);listOperations.rightPop("mylist"); 				// RPOP keyLong size = listOperations.size("mylist");			 // LLEN key
System.out.println(size);

4.5 Java操作集合Set(无序)

说明方法
获取操作 set 的对象opsForSet()
向集合添加一个或多个成员add(setKey, member1, member2)
返回集合中的所有成员members(setKey)
获取集合的成员数size(setKey)
返回给定所有集合的交集intersect(setKey1, setKey2)
返回所有给定集合的并集union(setKey1, setKey2)
删除集合中一个或多个成员remove(setKey, member1, member2)

Java代码范例:

SetOperations setOperations = redisTemplate.opsForSet();  // 获取操作 set 的对象
setOperations.add("set1", "a", "b", "c", "d");  			// SADD key member1 [member2]
setOperations.add("set2", "a", "b", "x", "y");Set set1Members = setOperations.members("set1");  	// SMEMBERS key
System.out.println(set1Members);Long set1Size = setOperations.size("set1"); 	 		// SCARD key
System.out.println(set1Size);Set intersect = setOperations.intersect("set1", "set2");  	// SINTER key1 key2 [key3]
System.out.println(intersect);Set union = setOperations.union("set1", "set2");  		// SUNION key1 key2 [key3]
System.out.println(union);setOperations.remove("set1", "a");  					// SREM key member1 [member2]

4.6 Java操作有序集合zset

命令/说明方法
获取操作 zset 的对象opsForZSet()
向有序集合添加成员add(zsetKey, member, score)
通过索引区间返回有序集合中指定区间内的成员range(zsetKey, start, stop)
有序集合中对指定成员的分数加上增量incrementincrementScore(zsetKey, member, increment)
移除有序集合中的一个或多个成员remove(zsetKey, member1, member2)

Java代码范例:

ZSetOperations zSetOperations = redisTemplate.opsForZSet();	// 获取操作 zset 的对象
zSetOperations.add("zset1", "a", 10);  			// ZADD key score member1 
zSetOperations.add("zset1", "b", 12);
zSetOperations.add("zset1", "c", 9);Set zset1 = zSetOperations.range("zset1", 0, -1); 	// ZRANGE key start stop 
System.out.println(zset1);zSetOperations.incrementScore("zset1", "c", 10);  	// ZINCRBY key increment memberzSetOperations.remove("zset1", "a", "b");  		// ZREM key member1 [member2]

4.7 Java实现Redis常用命令

通用操作直接使用redisTemplate对象。

说明方法
查找所有符合给定模式(pattern)的keykeys(“给定的模式”)
检查给定key是否存在hasKey(key)
返回key所储存的值的类型type(key)
该命令用于在key存在时删除keydelete(key)

Java代码范例:

// 通用操作直接使用redisTemplate对象
Set keys = redisTemplate.keys("*");  // KEYS pattern
System.out.println(keys);Boolean name = redisTemplate.hasKey("name");  // EXISTS keyfor(Object key : keys){DataType type = redisTemplate.type(key);  // TYPE keySystem.out.println(type.name());
}redisTemplate.delete("mylist");  // DEL key
http://www.qdjiajiao.com/news/11835.html

相关文章:

  • 枫叶建站百度seo优化包含哪几项
  • ppt哪个网站做的好中文网站排名
  • 企业内部信息网站如何建设seo网站推广方案策划书
  • 平江网站建设网站运营师
  • 网络营销广告名词解释西安seo顾问公司
  • 信阳做网站的公司免费建网页
  • wordpress 搭建网站友情链接平台网站
  • 色块布局网站首页模板长沙seo步骤
  • 手机网站用什么域名推广一手渠道
  • 做批发网站有哪些互联网推广项目
  • 论述政府门户网站建设的基本意义360站长工具
  • 郑州网站建设技术托管南昌seo排名扣费
  • 菜鸟式网站建设图书网络促销
  • 个人网站能不能做论坛东莞seo建站优化哪里好
  • logo做ppt模板下载网站百度竞价推广开户内容
  • 上海网站建设的软件职业技能培训网站
  • 装修公司的口碑排名国内好的seo
  • 网站建设与维护 实验报告心得深圳抖音推广
  • 安阳网站建设哪家便宜个人博客seo
  • 杭州网站建设商城价格汕头百度网站排名
  • 新网站如何做seo推广网站建设案例
  • 新乡专业做网站公司搜狗搜索引擎推广
  • 怎么查开发商剩余房源安卓优化神器
  • 日本女做受网站BB松原头条新闻今日新闻最新
  • 建一个自己的网站怎么推广一个产品
  • 怎样注册公司网站建立网页如何注册百度账号
  • wordpress怎样添加会员长春seo关键词排名
  • 网站广告招商应该怎么做怎样做推广
  • 手机网站怎么做seo郑州seo顾问热狗
  • 让医院做网站的策划书seo排名谁教的好